javascript實現(xiàn)視頻彈幕效果(兩個版本)
更新時間:2021年09月10日 15:22:49 作者:Maybion
這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)視頻彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了javascript實現(xiàn)視頻彈幕效果的具體代碼,供大家參考,具體內(nèi)容如下
基礎(chǔ)版本
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
* {
margin: 0;
padding: 0;
}
.dm {
width: 800px;
height: 600px;
background-color: blue;
margin: 0 auto;
}
.box {
height: 500px;
background-color: #000;
position: relative;
overflow: hidden;
}
video {
width: 100%;
height: 100%;
}
.info {
text-align: center;
margin-top: 20px;
}
input[type=text] {
width: 500px;
height: 50px;
}
input[type=button] {
height: 50px;
width: 100px;
}
span {
position: absolute;
/* 文本強制不換行 */
white-space: nowrap;
font: bold 18px '微軟雅黑';
}
</style>
</head>
<body>
<div class="dm">
<div class="box">
<video src="m.mp4" controls></video>
</div>
<div class="info">
<input type="text" maxlength="30" id="txt">
<input type="button" value="發(fā)射" id="emit">
</div>
</div>
<script src="jquery-1.12.4.js"></script>
<script>
// 0. 用一個數(shù)組保存一組顏色值
var colors = ['red', 'green', 'yellow', '#fff', 'pink', 'blue'];
// 1. 給發(fā)射按鈕注冊點擊事件
$('#emit').click(function () {
// 2. 獲取文本框的內(nèi)容
var v = $('#txt').val();
// 3. 創(chuàng)建span標(biāo)簽,并設(shè)置內(nèi)容,設(shè)置樣式,最后追加到類名為box的div中
var $span = $('<span></span>');
$span.text(v)
.css({
left: $('.box').width(),
top: parseInt(Math.random() * $('.box').height()),
color: colors[parseInt(Math.random() * colors.length)]
}).appendTo('.box');
// 4. 讓當(dāng)前的span產(chǎn)生動畫 left 為-span的寬度
$span.animate({
left: -1 * $span.width()
}, 6000, 'linear', function () {
// 當(dāng)動畫結(jié)束后,刪除該元素
$span.remove();
})
});
</script>
</body>
</html>
加強版本
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
* {
margin: 0;
padding: 0;
}
.dm {
width: 800px;
height: 600px;
background-color: blue;
margin: 0 auto;
}
.box {
height: 500px;
background-color: #000;
position: relative;
overflow: hidden;
}
video {
width: 100%;
height: 100%;
}
.info {
text-align: center;
margin-top: 20px;
}
input[type=text] {
width: 500px;
height: 50px;
}
input[type=button] {
height: 50px;
width: 100px;
}
span {
position: absolute;
/* 文本強制不換行 */
white-space: nowrap;
font: bold 18px '微軟雅黑';
}
</style>
</head>
<body>
<div class="dm">
<div class="box">
<!-- controls 如果出現(xiàn)該屬性,則向用戶顯示控件,比如播放按鈕。 -->
<video src="m.mp4" controls></video>
</div>
<div class="info">
<input type="radio" value="" id="ban" name="1">精簡</input>
<input type="radio" value="" id="vip" name="1">VIP尊享</input>
<input type="text" maxlength="30" id="txt">
<input type="button" value="發(fā)射" id="emit">
</div>
</div>
<script src="jquery-1.12.4.js"></script>
<script>
// 0. 用一個數(shù)組保存一組顏色值
var colors = ['red', 'green', 'yellow', '#fff', 'pink', 'blue'];
//定義一個變量,定義其他樣式的
b = 0
$('#ban').click(function () {
b = 1;
});
$('#vip').click(function () {
b = 2;
});
// 1. 給發(fā)射按鈕注冊點擊事件
$('#emit').click(function () {
// 2. 獲取文本框的內(nèi)容
var v = $('#txt').val();
// 3. 創(chuàng)建span標(biāo)簽,并設(shè)置內(nèi)容,設(shè)置樣式,最后追加到類名為box的div中
var $span = $('<span></span>');
//定義CSS樣式,讓它是一個數(shù)組形式表現(xiàn)
css = [{
"left": $('.box').width(),
"top": parseInt(Math.random() * $('.box').height()),
"color": colors[parseInt(Math.random() * colors.length)]
},
{
"left": $('.box').width(),
"top": parseInt(Math.random() * ($('.box').height() / 2)),
"color": colors[parseInt(Math.random() * colors.length)]
},
{
"left": $('.box').width(),
"top": parseInt(Math.random() * $('.box').height()),
"color": "yellow",
"fontSize": 50,
"fontFamily": "楷體"
}
]
//看看能不能打印出數(shù)組中的東西
// console.log(abc[1])
$span.text(v)
.css(css[b])
.appendTo('.box');
// 4. 讓當(dāng)前的span產(chǎn)生動畫 left 為-span的寬度
//打印出文本長度
// console.log(v.length)
$span.animate({
left: -1 * $span.width()
}, (30 - v.length) * 333, 'linear',
function () {
// 當(dāng)動畫結(jié)束后,刪除該元素
$span.remove();
})
});
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript利用canvas實現(xiàn)星空效果
Canvas對于我們前端來說是一個非常強大的工具,它可以實現(xiàn)各種復(fù)雜的圖形和動畫效果,我們?nèi)绻軌蚴炀氄莆账?我們就可以做很多炫酷的效果,本文就給大家介紹了用canvas畫出一片星空的方法,需要的朋友可以參考下2023-11-11
掃微信小程序碼實現(xiàn)網(wǎng)站登陸實現(xiàn)解析
這篇文章主要介紹了掃微信小程序碼實現(xiàn)網(wǎng)站登陸實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
用JavaScript調(diào)用WebService的示例
JavaScript用htc實現(xiàn)WebService的調(diào)用2008-04-04

