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

不过我个人还是比较排斥看电视的时候被出来的弹幕打扰。今天我们来写一个简单的弹幕。简单到什么程度呢?看下效果:
由图可以看出,我们的呆毛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小时内与您取得联系。