基于JavaScript实现弹幕特效
作者:01-01 发布时间:2024-04-22 22:30:23
标签:js,弹幕
本文实例为大家分享了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):


猜你喜欢
- 协程协程是一种用户态的轻量级线程,又称微线程。协程拥有自己的寄存器上下文和栈,调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,
- 导语春节是中国特有的传统节日,中国结是中华民族特有的纯粹的文化精髓,富含丰富的文化底蕴,代表着我们对未来,对美好生活的向往和憧憬。新春佳节,
- 有时候用phpMyAdmin的时候会突然出现这个错误信息 “无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP
- 本文实例为大家分享了pygame实现俄罗斯方块游戏的具体代码,基础的第一篇,供大家参考,具体内容如下一、初始界面之前的游戏都比较简单,所以代
- 一、前言经过前面的两篇文章,整体工作已经完成了2/3了,剩下的1/3,将会在本片文章提及前面两步文章链接python实战之德州扑克第一步-发
- IE6下浮出层常会需要增加一个iframe来解决浮出层被Obj穿透的问题,这个是目前最有效的方案,不过这个方案本身有个缺陷,就是iframe
- 以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。bit
- ctypes(一) — 初识 很多初学Python的新手,总是嘴边挂着一句话:“Python是一门胶水语言”。可是究竟什
- 一、实验目的:1.掌握Python中柱状图、条形图绘图函数的使用2.利用上述绘图函数实现数据可视化二、实验内容:1.练习python中柱状图
- Python中Math库和Python库都具备求对数的函数。import numpy as npimport math1. Numpy库1.
- 流读写很多时候,数据读写不一定是文件,也可以在内存中读写。1、StringIO:在内存中读写str。要把str写入StringIO,我们需要
- 摘要:发现给div绑定keyup.enter事件是没有效果的。那该如何实现呢?下面直接上代码吧1、在template中代码2、在create
- 作为一个.net后台开发的程序猿,博客里既然大多都是前端相关的博文。是不是该考虑换方向了,转前端开发得了 ...小小吐槽一下,近期受该不该跳
- 本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下:def matrixMultiply(A, B):
- 背景:加入现在有这样的数据,可能一条ocr代表两个label,并且label通过","分隔。我们想把数据转换成下面的。原
- 在 CodeBit.cn 的论坛中,有人问 Javascript 中如何截取小数位并实现四舍五入,这是一个很常用的 js 技术,帖子中也有网
- 一、安装并配置 JMeter下载官网下载,下载二进制的这个 zip配置环境变量然后解压到你喜欢的位置,配置环境变量,新建一个 JMETER_
- 这篇文章主要参考了 Vue.js 核心成员Guillaume Chau 在 19 年美国的 Vue conf 分享的主题:9 Perform
- 一、Python中global与nonlocal 声明如下代码a = 10 def foo(): a = 100执行foo() 结果 a
- 源代码:# dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素dict1 =