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 Form轻松实现文件上传
May 24 jQuery
jQuery常用选择器详解
Jul 17 jQuery
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 jQuery
jQuery条件分页 代替离线查询(附代码)
Aug 17 jQuery
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
JQuery animate动画应用示例
May 14 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
jQuery HTML设置内容和属性操作实例分析
May 20 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 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获取某个目录大小的代码
2008/09/10 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
Laravel find in set排序实例
2019/10/09 PHP
PHP实现文件上传与下载
2020/08/28 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
python实现根据图标提取分类应用程序实例
2014/09/28 Python
Django 路由控制的实现代码
2018/11/08 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
Linux开机引导的步骤是什么
2015/10/19 面试题
2014年小班保育员工作总结
2014/12/23 职场文书
自我检讨报告
2015/01/28 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python