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 22 jQuery
jquery.form.js异步提交表单详解
Apr 25 jQuery
jQuery导航条固定定位效果实例代码
May 26 jQuery
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
jQuery响应滚动条事件功能示例
Oct 14 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
JQuery事件冒泡和默认行为代码实例
May 13 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 array操作10个小技巧分享
2011/06/23 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
eclipse php wamp配置教程
2016/06/30 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
2017/02/28 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
如何运行Python程序的方法
2013/04/21 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python机器学习库xgboost的使用
2020/01/20 Python
Django框架models使用group by详解
2020/03/11 Python
Django URL参数Template反向解析
2020/11/24 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
奠基仪式主持词
2014/03/20 职场文书
校园新闻稿范文
2015/07/18 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers