基于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 相关文章推荐
在网页中屏蔽快捷键
Sep 06 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 Javascript
jquery+json实现数据列表分页示例代码
Nov 15 Javascript
jquery队列queue与原生模仿其实现方法分享
Mar 25 Javascript
第四章之BootStrap表单与图片
Apr 25 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
详解iframe跨域的几种常用方法(小结)
Apr 29 Javascript
vue element-ui之怎么封装一个自己的组件的详解
May 20 Javascript
ES6的异步操作之promise用法和async函数的具体使用
Dec 06 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
通过ODBC连接的SQL SERVER实例
2006/10/09 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
Python自动化开发学习之三级菜单制作
2017/07/14 Python
Python 类的特殊成员解析
2018/06/20 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
如何理解python对象
2020/06/21 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
时尚圣经:The Fashion Bible
2019/03/03 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
地方白酒代理协议书
2014/10/25 职场文书
接收函格式
2015/01/30 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
工作证明格式范文
2015/06/15 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技
mysqldump进行数据备份详解
2022/07/15 MySQL