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实现下拉菜单的实例代码
Jun 19 jQuery
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
jquery.onoff实现简单的开关按钮功能(推荐)
May 24 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
jquery.pager.js分页实现详解
Jul 29 jQuery
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
使用jQuery实现购物车
Oct 29 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
Home Coffee Roasting
2021/03/03 咖啡文化
谈谈新手如何学习PHP
2006/12/23 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
求职意向书
2014/04/01 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
期末复习计划
2015/01/19 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
初中地理教学反思
2016/02/19 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android