基于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 相关文章推荐
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 Javascript
jquery 实现返回顶部功能
Nov 17 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
js实现点击向下展开的下拉菜单效果代码
Sep 01 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
Mar 14 Javascript
JavaScript  event对象整理及详细介绍
Oct 10 Javascript
详解在AngularJS的controller外部直接获取$scope
Jun 02 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
Jul 06 Javascript
vue-router之nuxt动态路由设置的两种方法小结
Sep 26 Javascript
angularjs手动识别字符串中的换行符方法
Oct 02 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 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中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
详解Django框架中的视图级缓存
2015/07/23 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
使用python实现名片管理系统
2020/06/18 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
建筑设计所实习生自我鉴定
2013/09/25 职场文书
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
毕业生应聘求职信
2014/07/10 职场文书
安全标兵事迹材料
2014/08/17 职场文书
单位委托书怎么写
2014/09/21 职场文书
医德医风自我评价2015
2015/03/03 职场文书
劳动仲裁调解书
2015/05/20 职场文书
盲山观后感
2015/06/11 职场文书
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技