基于JavaScript实现弹幕特效


Posted in Javascript onAugust 27, 2020

本文实例为大家分享了js实现弹幕特效的具体代码,供大家参考,具体内容如下

此处使用HBuilder编译,最简单的弹幕效果,希望各位前辈不吝指教。

注意用的是jquery-2.0.3.js

<!DOCTYPE html> 
<html> 
 <head> 
 <meta charset="utf-8" /> 
 <title></title> 
 </head> 
 
 <style type="text/css"> 
 *{ 
 padding: 0; 
 margin: 0; 
 } 
 .shooter{ 
 width: 600px; 
 height: 60px; 
 /*background: black;*/ 
 margin: 0 auto; 
 } 
 .shooter input{ 
 width: 300px; 
 height: 40px; 
 border: none; 
 border-radius: 7px; 
 box-shadow: 0 0 8px rgba(182,195,214,0.6)inset; 
 padding-left: 15px; 
 margin-top: 10px; 
 } 
 .shooter button{ 
 width: 80px; 
 height: 40px; 
 border: none; 
 margin-left: 10px; 
 background-color:#339B53; 
 border-radius:8px; 
 color: white; 
 cursor: pointer; 
 } 
 
 .shooter button:hover{ 
 font-size: 14px; 
 background:#008000; 
 } 
 .content{ 
 width: 100%; 
 height: 600px; 
 background: gray; 
 position: relative; 
 overflow: hidden; 
 } 
 
 .bullet{ 
 position: absolute; 
 /*right: 0;*/ 
 /*left:1600px;*/ 
 word-break: keep-all; 
 /*不让单词折行*/ 
 
 
 } 
 
 </style> 
 
 <body> 
 <div class="shooter"> 
 
 <input type="text"/> 
 <button>发射</button> 
 
 </div> 
 <div class="content"> 
 
 </div> 
 <script type="text/javascript" src="js/jquery-2.0.3.js" ></script> 
 
 <script type="text/javascript"> 
 $("button").click(function(){ 
  
 var msg = $("input").val(); 
 //取出输入框内容 
  
 if(msg.length > 15){ 
  
  alert("字数不得超过15个!"); 
  return; 
 } 
  
 var bullet = $("<div>"); 
 //生成一条弹幕 
 bullet.text(msg); 
 //将输入框内容放置到div中 
 bullet.addClass("bullet"); 
 //为bullet这个div添加样式bullet 
 bullet.css("top",Math.round(Math.random()*500)); 
 //随机设置弹幕位置 
 bullet.css("left","1600px"); 
 bullet.css("font-size",Math.round(Math.random()*60)+12+"px"); 
 bullet.css("color","rgb("+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+")"); 
// alert(window.getComputedStyle(bullet,null).width); 
 bullet.animate({ 
  left:-1000//此处视为bug,应该随着弹幕的长短而变化 
 },Math.round(Math.random()*9000)+1000,"linear", function(){ 
  bullet.remove(); 
  //当运动结束时,删除弹幕 
 }); 
  
 $(".content").append(bullet); 
 //将弹幕添加到屏幕中 
  
  
 }); 
 </script> 
 </body> 
</html>

下面是展示的弹幕效果(显示的白线在谷歌浏览器中是看不出来的,在录制时会看出来,此处又一bug):

基于JavaScript实现弹幕特效

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

Javascript 相关文章推荐
JavaScript 获取当前时间戳的代码
Aug 05 Javascript
将数字转换成大写的人民币表达式的js函数
Sep 21 Javascript
使用JavaScript和C#中获得referer
Nov 14 Javascript
js计算文本框输入的字符数
Oct 23 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
JS实现的透明度渐变动画效果示例
Apr 28 Javascript
vue2单元测试环境搭建
May 24 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
Vue props 单向数据流的实现
Nov 06 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
vue addRoutes路由动态加载操作
Aug 04 Javascript
js实现水平滚动菜单导航
Jul 21 #Javascript
修改 bootstrap table 默认detailRow样式的实例代码
Jul 21 #Javascript
JavaScript实现购物车基本功能
Jul 21 #Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 #Javascript
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 #jQuery
基于input框覆盖掉数字英文的实例讲解
Jul 21 #Javascript
浅谈通过JS拦截 pushState和replaceState事件
Jul 21 #Javascript
You might like
PHP文件缓存类示例分享
2015/01/30 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
原生JS实现垂直手风琴效果
2017/02/19 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python入门篇之字符串
2014/10/17 Python
使用Python对Excel进行读写操作
2017/03/30 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
Python远程linux执行命令实现
2020/11/11 Python
会计专业自荐信
2013/12/02 职场文书
竞聘演讲稿范文
2014/01/12 职场文书
建筑个人求职信范文
2014/01/25 职场文书
班级安全教育实施方案
2014/02/23 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
python如何读取.mtx文件
2021/04/22 Python
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers