弹幕 html + css + jquery

<!DOCTYPE html>

<html lang="en">

<head>  

<meta charset="UTF-8">  

<meta name="viewport" content="width=device-width, initial-scale=1.0">  

<meta http-equiv="X-UA-Compatible" content="ie=edge">  

<title>弹幕</title>  

<style>    

* {       padding: 0;       margin: 0;     }    

body {       font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;     }    

.wrapBox {       width: 800px;       height: 550px;       border: 1px solid #000;       margin: 50px auto 0;     }    

.videoBox {       height: 500px;       position: relative;       overflow: hidden;     }  

  .videoBox img {       width: 100%;       height: 100%;     }     video {       width: 100%;       /* height: 500px; */     }    

.danmuSend {       display: flex;       height: 50px;     }    

#content {       flex: 1;     }    

#send {       width: 100px;     }  

.danmu {       color: #f00;       font-size: 20px;       position: absolute;       left: 800px;       top: 0;       white-space: nowrap;     }  

</style>

</head>

<body>  

<div class="wrapBox">    

<div class="videoBox">      

<img src="../source/bg.jpg" />      

<!-- <span class="danmu">我是弹幕</span> -->    

</div>    

<div class="danmuSend">      

<input id="content" type="text">      

<button id="send">发送</button>    

</div>  

</div>

</body>

<script>  

var oVideoBox = document.querySelector('.videoBox');  

var oContent = document.querySelector('#content');  

var oSend = document.querySelector('#send');  

oSend.onclick = function(){    

var content = oContent.value;     // console.log(content);     add(content);  

}  

function add(content) {    

if (!content) {       alert('sss');       return     }    

var oSpan = document.createElement('span');    

oSpan.className = 'danmu';    

oSpan.innerHTML = content;    

oVideoBox.appendChild(oSpan);    

var maxTop = oVideoBox.clientHeight - oSpan.offsetHeight;//设置弹幕最大距离顶部高度     oSpan.style.top = Math.round(Math.random() * maxTop) + 'px';//设置随机高度    

// console.log( maxTop,oSpan.offsetHeight);    

//设置定时器移动弹幕    

var timer = setInterval(() => {      

var start = oSpan.offsetLeft;       start -= 5;      

// console.log(start);      

oSpan.style.left = start + 'px';      

if (start < -oSpan.offsetWidth) {        

clearInterval(timer);         oSpan.remove();      

} }, 40);    

oContent.value= '';  

} </script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值