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实现的手风琴侧边菜单效果
Mar 29 jQuery
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
jQuery扩展_动力节点Java学院整理
Jul 05 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 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/10/09 PHP
PHP循环获取GET和POST值的代码
2008/04/09 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
javascript 清除输入框中的数据
2009/04/13 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
市场营销大学生职业规划书
2014/02/25 职场文书
周年庆促销方案
2014/03/15 职场文书
调查研究项目计划书
2014/04/29 职场文书
九九重阳节标语
2014/10/07 职场文书
慰问信格式规范
2015/03/23 职场文书
婚宴来宾致辞
2015/07/28 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis