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 03 jQuery
jQuery Plupload上传插件的使用
Apr 19 jQuery
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
jquery操作select常见方法大全【7种情况】
May 28 jQuery
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
jQuery实现聊天对话框
Feb 08 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP进程通信基础之信号
2017/02/19 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
Javascript 学习书 推荐
2009/06/13 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
axios实现文件上传并获取进度
2020/03/25 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
一个入门级python爬虫教程详解
2021/01/27 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
大学生自我鉴定
2013/12/16 职场文书
青安岗事迹材料
2014/05/14 职场文书
cf战队收人口号
2014/06/21 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python