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实现文章图片弹出放大效果
Apr 06 jQuery
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
React中jquery引用的实现方法
Sep 12 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 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 时间转换Unix时间戳代码
2010/01/22 PHP
php模拟post提交数据的方法
2015/02/12 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
Python实现两款计算器功能示例
2017/12/19 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
vue常用指令代码实例总结
2020/03/16 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
python 基于opencv去除图片阴影
2021/01/26 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
Linux常见面试题
2013/03/18 面试题
大学社团活动策划书
2014/01/26 职场文书
中秋手机店促销方案
2014/06/16 职场文书
检讨书模板
2015/01/29 职场文书
自主招生英文自荐信
2015/03/25 职场文书
团结主题班会
2015/08/13 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
基于Python实现股票收益率分析
2022/04/02 Python
vue自定义右键菜单之全局实现
2022/04/09 Vue.js
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技