基于JavaScript实现弹幕特效

作者:01-01 时间:2024-04-22 22:30:23 

本文实例为大家分享了js实现弹幕特效的具体代码,供大家参考,具体内容如下

此处使用HBuilder编译,最简单的弹幕效果,希望各位前辈不吝指教。

注意用的是jquery-2.0.3.js


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>

<style type="text/css">
*{
padding: 0;
margin: 0;
}
.shooter{
width: 600px;
height: 60px;
/*background: black;*/
margin: 0 auto;
}
.shooter input{
width: 300px;
height: 40px;
border: none;
border-radius: 7px;
box-shadow: 0 0 8px rgba(182,195,214,0.6)inset;
padding-left: 15px;
margin-top: 10px;
}
.shooter button{
width: 80px;
height: 40px;
border: none;
margin-left: 10px;
background-color:#339B53;
border-radius:8px;
color: white;
cursor: pointer;
}

.shooter button:hover{
font-size: 14px;
background:#008000;
}
.content{
width: 100%;
height: 600px;
background: gray;
position: relative;
overflow: hidden;
}

.bullet{
position: absolute;
/*right: 0;*/
/*left:1600px;*/
word-break: keep-all;
/*不让单词折行*/

}

</style>

<body>
<div class="shooter">

<input type="text"/>
<button>发射</button>

</div>
<div class="content">

</div>
<script type="text/javascript" src="js/jquery-2.0.3.js" ></script>

<script type="text/javascript">
$("button").click(function(){

var msg = $("input").val();
//取出输入框内容

if(msg.length > 15){

alert("字数不得超过15个!");
 return;
}

var bullet = $("<div>");
//生成一条弹幕
bullet.text(msg);
//将输入框内容放置到div中
bullet.addClass("bullet");
//为bullet这个div添加样式bullet
bullet.css("top",Math.round(Math.random()*500));
//随机设置弹幕位置
bullet.css("left","1600px");
bullet.css("font-size",Math.round(Math.random()*60)+12+"px");
bullet.css("color","rgb("+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+")");
// alert(window.getComputedStyle(bullet,null).width);
bullet.animate({
 left:-1000//此处视为bug,应该随着弹幕的长短而变化
},Math.round(Math.random()*9000)+1000,"linear", function(){
 bullet.remove();
 //当运动结束时,删除弹幕
});

$(".content").append(bullet);
//将弹幕添加到屏幕中

});
</script>
</body>
</html>

下面是展示的弹幕效果(显示的白线在谷歌浏览器中是看不出来的,在录制时会看出来,此处又一bug):

基于JavaScript实现弹幕特效

标签:js,弹幕
0
投稿

猜你喜欢

  • python 爬虫出现403禁止访问错误详解

    2023-11-13 06:53:24
  • python中defaultdict方法的使用详解

    2022-06-25 05:07:09
  • 关于Vue代码可读性的几点建议

    2024-05-13 09:08:09
  • SQL联合查询inner join、outer join和cross join的区别详解

    2024-01-14 21:33:41
  • JS出现404错误原理及解决方案

    2024-04-28 09:41:26
  • Selenium定时刷新网页的实现代码

    2021-09-30 04:01:00
  • Python完整实现俄罗斯方块游戏全解

    2022-10-23 16:52:52
  • sql server 2008数据库连接字符串大全

    2024-01-18 13:42:09
  • javascript设计模式之模块模式学习笔记

    2024-04-29 13:16:11
  • 详解如何在python中读写和存储matlab的数据文件(*.mat)

    2023-06-27 22:24:32
  • python 利用openpyxl读取Excel表格中指定的行或列教程

    2022-08-06 21:22:54
  • 详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)

    2023-09-06 14:34:52
  • 详解使用webpack构建多页面应用

    2024-04-19 10:03:57
  • ASP的数据命名有什么规则吗?

    2009-10-28 18:23:00
  • python实现简单的超市商品销售管理系统

    2021-08-24 00:07:32
  • 解决python2.7 查询mysql时出现中文乱码

    2024-01-14 18:34:57
  • MySQL中索引的优化的示例详解

    2024-01-26 21:31:25
  • PHP fprintf()函数用法讲解

    2023-06-01 20:09:20
  • Python实现双人五子棋对局

    2022-12-26 04:41:39
  • Python对列表的操作知识点详解

    2022-05-08 09:06:39
  • asp之家 网络编程 m.aspxhome.com