全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

简单实现JavaScript弹幕效果

不知大家有没有感受到,弹幕又是另一出好戏!!

不过我个人还是比较排斥看电视的时候被出来的弹幕打扰。今天我们来写一个简单的弹幕。简单到什么程度呢?看下效果:

由图可以看出,我们的呆毛html结构确实是非常简单啦。
就是由一个div、一个input框另加一个button组成。

 <div id="box" class="box"></div>
 <input type="text" id="txt" />
 <button onclick="send()">提交内容</button>

先po上js代码:

 function $(str) {
 return document.getElementById(str);
 }
 function send() {
 var word = $('txt').value;
 var span = document.createElement('span');
 var top = parseInt(Math.random() * 500) - 20;
 var color1 = parseInt(Math.random() * 256);
 var color2 = parseInt(Math.random() * 256);
 var color3 = parseInt(Math.random() * 256);
 var color = "rgb(" + color1 + "," + color2 + "," + color3 + ")";
 top = top < 0 ? 0 : top;
 span.style.position = 'absolute';
 span.style.top = top + "px";
 span.style.color = color;
 span.style.left = '500px';
 span.style.whiteSpace = 'nowrap';
 var nub = (Math.random() * 10) + 1;
 span.setAttribute('speed', nub);
 span.speed = nub;
 span.innerHTML = word;
 $('box').appendChild(span);
 $('txt').value = "";
 }
 setInterval(move, 200);
 function move() {
 var spanArray = $('box').children;
 for (var i = 0; i < spanArray.length; i++) {
  spanArray[i].style.left =
  parseInt(spanArray[i].style.left) - spanArray[i].speed + 'px';
 }
 }

原理简单说下:

第一步,我们要拿到input框里面的内容,var word = $('txt').value;
第二步,我们就要把这个内容想方设法地塞到要滚动显示的div里面去了,原则有三:①颜色随机②高度随机③与左边框的距离实时变化;
第三步,把这个内容追加到div里  $('box').appendChild(span);

由上述步骤原理可以看出,第二步是最关键的一步,

实现第一个原则:

 var color1 = parseInt(Math.random() * 256);
 var color2 = parseInt(Math.random() * 256);
 var color3 = parseInt(Math.random() * 256);
 var color = "rgb(" + color1 + "," + color2 + "," + color3 + ")";
 span.style.color = color;

小扩展:

RGB(R,G,B);
R:
红色值。正整数 | 百分数
G:
绿色值。正整数 | 百分数
B:
蓝色值。正整数 | 百分数
这样就应该是很容易理解了。

实现第二个原则:

var top = parseInt(Math.random() * 500) - 20;
top = top < 0 ? 0 : top;
span.style.top = top + "px";

实现第三个原则:

 span.style.left = '500px';
 setInterval(move, 200);
 function move() {
 var spanArray = $('box').children;
 for (var i = 0; i < spanArray.length; i++) {
  spanArray[i].style.left =
  parseInt(spanArray[i].style.left) - spanArray[i].speed + 'px';
 }
 }

就是利用了定时器的原理,让left的值实时变化。

讲到这里,就应该很清晰明了了吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 弹幕  # 基于JavaScript实现弹幕特效  # JS实现的视频弹幕效果示例  # JavaScript直播评论发弹幕切图功能点集合效果代码  # 一篇文章教你学会js实现弹幕效果  # javascript实现视频弹幕效果(两个版本)  # javascript实现弹幕墙效果  # js实现简易弹幕系统  # 原生js实现弹幕效果  # JS实现视频弹幕效果  # JS实现弹幕小案例  # 可以看出  # 正整数  # 第二步  # 去了  # 第一个  # 又是  # 是由  # 很容易  # 要把  # 第二个  # 第三个  # 看电视  # 讲到  # 最关键  # 则有  # 第三步  # 大家多多  # 要拿  # 来写 


相关文章: 哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  个人摄影网站制作流程,摄影爱好者都去什么网站?  ,如何利用word制作宣传手册?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  ,想在网上投简历,哪几个网站比较好?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  一键网站制作软件,义乌购一件代发流程?  香港服务器如何优化才能显著提升网站加载速度?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  建站主机无法访问?如何排查域名与服务器问题  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  如何快速搭建个人网站并优化SEO?  制作网站公司那家好,网络公司是做什么的?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  css网站制作参考文献有哪些,易聊怎么注册?  小型网站建站如何选择虚拟主机?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  如何在云服务器上快速搭建个人网站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  香港服务器选型指南:免备案配置与高效建站方案解析  建站主机是什么?如何选择适合的建站主机?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  linux top下的 minerd 木马清除方法  如何在IIS管理器中快速创建并配置网站?  ,怎么在广州志愿者网站注册?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  建站主机空间推荐 高性价比配置与快速部署方案解析  如何通过VPS建站无需域名直接访问?  如何获取上海专业网站定制建站电话?  如何通过cPanel快速搭建网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  网站制作话术技巧,网站推广做的好怎么话术?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  济南网站制作的价格,历城一职专官方网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  网站专业制作公司有哪些,做一个公司网站要多少钱?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  如何在IIS7中新建站点?详细步骤解析  股票网站制作软件,网上股票怎么开户?  专业商城网站制作公司有哪些,pi商城官网是哪个?  网站app免费制作软件,能免费看各大网站视频的手机app?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  如何选择高性价比服务器搭建个人网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。