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 Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
jQuery实现简单三级联动效果
Sep 05 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
dedecms系统常用术语汇总
2007/04/03 PHP
php读取msn上的用户信息类
2008/12/05 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
JS 实现完美include载入实现代码
2010/08/05 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
python爬取网页转换为PDF文件
2018/06/07 Python
python实现按行分割文件
2019/07/22 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
你对IPv6了解程度
2016/02/09 面试题
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
西北政法大学自主招生自荐信
2014/01/29 职场文书
小学生家长评语集锦
2014/01/30 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
学校师德承诺书
2014/05/23 职场文书
2014年工会工作总结
2014/11/12 职场文书
七一建党节慰问信
2015/02/14 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
MySQL七种JOIN类型小结
2021/10/24 MySQL
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫