JavaScript实现弹幕效果

实现效果:

  1. 输入内容单击发表就会在浏览器页面上实现内容从左到右的动画效果
  2. 每发表一个内容,运动到最后都要清除标签元素以防浏览器崩溃
  3. 发表的每个内容都会随机产生高度,随机产生颜色(颜色是给出的)

实现过程:

1.创建span标签
2.将input标签的内容赋给span标签
3.让span标签成为页面的子元素
4.设置span标签的位置为页面显示可见区域的右边,随机产生值为上下位置
5.设置一个num值初始等于页面可见区域右边的值,创建一个计时器,然后num--,页面左移,来实现文字的滚动
6.文字到达页面可见区域左端,清除这个元素,
7.将这些内容放在onclick事件中,每次点击都是如此

实现细节:

    1.document.createElement()用来创建一个元素。
    2.网页可见区域宽:document.body.clientWidth
      //网页可见区域高:document.body.clientHeight
      //网页可见区域宽:document.body.offsetWidth (包括边线的宽)
      //网页可见区域高:document.body.offsetHeight (包括边线的宽)
    3.Math.random()[0,1)的随机小数
      //Math.round()四舍五入
      //Math.ceil()和Math.floor()分别向上取整向下取整。
    

代码:


<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            html, body {
   
            margin: 0px;
            padding: 0px;
            width: 100%;
            height: 100%;
            font-family: "微软雅黑";
            font-size: 62.5%;
            }
            
            .boxDom {
   
            width: 100%;
            height: 100%;
            position: relative;
            overflow: hidden;
            }
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现弹幕效果,可以使用CSS3的动画效果JavaScript的DOM操作。下面是一个简单的示例代码: ```HTML <!DOCTYPE html> <html> <head> <title>弹幕示例</title> <style type="text/css"> .bullet { position: absolute; top: 0; font-size: 16px; color: #fff; background-color: red; padding: 6px 12px; border-radius: 20px; white-space: nowrap; animation: bullet 8s linear infinite; } @keyframes bullet { from { transform: translateX(100%); } to { transform: translateX(-100%); } } </style> <script type="text/javascript"> window.onload = function() { // 创建一个弹幕元素 function createBullet(text) { var bullet = document.createElement('div'); bullet.className = 'bullet'; bullet.innerText = text; document.body.appendChild(bullet); setTimeout(function() { document.body.removeChild(bullet); }, 8000); } // 发送弹幕 document.getElementById('send').addEventListener('click', function() { var text = document.getElementById('text').value; if(text) { createBullet(text); document.getElementById('text').value = ''; } }); } </script> </head> <body> <input type="text" id="text" placeholder="请输入内容"> <button id="send">发送</button> </body> </html> ``` 这段代码使用了CSS3的动画JavaScript的DOM操作来实现弹幕效果。具体来说,创建了一个类名为“bullet”的div元素,并给它添加弹幕的样式,然后定义了一个名为“bullet”的动画,将弹幕从右侧滑动到侧。页面加载完成后,创建了一个“createBullet()”函数,用于创建弹幕元素并添加到页面中,同时使用setTimeout()函数删除弹幕元素。最后,使用addEventListener()函数来监听发送按钮的点击事件,执行createBullet()函数创建新的弹幕元素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值