jQuery实现简单弹幕制作


Posted in jQuery onDecember 10, 2020

在现在的视频网站,我们在看视频的时候经常会有弹幕出现,那么怎么通过js实现这一效果呢,下面介绍一种简单的方法。

首先,搭好结构:

页面中先放一个视频,视频下部放一个input 标签和button按钮,代码如下:

<div class="box">
  <div class="top">
   <video src="./static/梦然-少年 .mp4" controls autoplay muted></audio>
  </div>
<div class="foot">
 <input type="text" name="" id="text">
 <input type="button" value="发送" id="btn">
</div>
</div>

再来写js

首先,我们需要包装三个函数,也就是发送到弹幕的随机颜色、随机高度和随机字体大小;代码如下:

<script>
  //随机获取字体颜色函数
 function getRandomColor(){
  var r = Math.floor(Math.random()*255);
  var g = Math.floor(Math.random()*255);
  var b = Math.floor(Math.random()*255);
  return 'rgb('+r+','+g+','+ b +')'
 }
//随机获取高度函数
 function getRandomHeight(){
  var height = $('.top').height()
  return Math.random()*height-30
 }
//随机获取字体大小函数
 function getRandomFontSize(){
  return Math.floor(Math.random()*60)
 }

现在我们需要获取用户输入的内容在将内容显示到页面中,并且移动,一直到页面外就消除,代码如下:

//事件注册
$('#btn').on('click',function(){
if($('#text').val() ==''){
 return
}
 $('<span></span>').text($('#text').val()).css({
  'position':'absolute',
  'width':200,
  'height':50,
  'color':getRandomColor(),
  'fontSize':getRandomFontSize(),
  'right':-200,
  'top':getRandomHeight()
 }).animate({right:1000},10000,'linear',function(){
  $(this).remove()
 }).appendTo($('.top'))
 $('#text').val('')
})

最后将键盘回车键也绑定事件,让用户输入内容后按下回车键和按发送按钮有同样的效果:

$('#text').keydown(function(event){
 if($('#text').val() ==''){
 return
} 
if(event.keyCode == 13){
 $('#btn').click()
}

})

</script>

最终效果如下

jQuery实现简单弹幕制作

那么,现在一个简单的弹幕就制作完成了。

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

jQuery 相关文章推荐
基于JQuery和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
jQuery中map函数的两种方式
Apr 07 jQuery
jquery版轮播图效果和extend扩展
Jul 18 jQuery
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 jQuery
jQuery表单选择器用法详解
Aug 22 jQuery
jQuery实现本地存储
Dec 22 jQuery
jquery插件实现图片悬浮
Apr 16 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 #jQuery
jquery实现拖拽添加元素功能
Dec 01 #jQuery
jQuery实现可以扩展的日历
Dec 01 #jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 #jQuery
jQuery实现查看图片功能
Dec 01 #jQuery
基于jQuery拖拽事件的封装
Nov 29 #jQuery
jQuery实现动态操作table行
Nov 23 #jQuery
You might like
php获得文件扩展名三法
2006/11/25 PHP
PHP详细彻底学习Smarty
2008/03/27 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
PHP中的use关键字概述
2014/07/23 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
sina的lightbox效果。
2007/01/09 Javascript
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
Python 常用string函数详解
2016/05/30 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
在Python中使用Neo4j的方法
2019/03/14 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
仓库管理制度
2014/01/21 职场文书
代理班主任的自我评价
2014/02/04 职场文书
主题实践活动总结
2014/05/08 职场文书
中学生检讨书1000字
2014/10/28 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
销售口号霸气押韵
2015/12/24 职场文书