jQuery实现的页面弹幕效果【测试可用】


Posted in jQuery onAugust 17, 2018

本文实例讲述了jQuery实现的页面弹幕效果。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>juqery弹幕</title>
<style>
*{
margin: 0px;
padding: 0px;
}
html,body{
width: 100%;
height: 100%;
font-family: "微软雅黑";
background-color: #ccc;
margin: 0;
padding: 0;
}
.boxDom{
width: 100%;
height: 800px;
position: relative;
overflow: hidden;
}
.boxDom img{
width: 100%;
height: 100%;
}
.idDom{
width: 100%;
height: 50px;
background-color: #666;
position: fixed;
bottom: 0px;
}
.content{
width: 600px;
height: 50px;
position: absolute;
left: 500px;
top:10px;
}
.title{
font-size: 25px;
display: inline;
vertical-align: bottom;
color: #fff;
}
.text{
width: 300px;
height: 30px;
border:none;
border-radius: 5px;
text-indent: 2em;
margin-left: 60px;
}
.btn{
width: 100px;
height: 30px;
margin-left: 20px;
font-size: 20px;
font-weight: 700;
color: #fff;
background-color: red;
border:none;
border-radius: 5px;
cursor: pointer;
}
.string {
width: 300px;
height: 40px;
margin-top: 20px;
position: absolute;
color: #000;
font-size: 20px;
font-family: "微软雅黑";
}
</style>
</head>
<body>
<div class="boxDom" id="boxDom">
<!-- <img src="7.jpg" alt=""> -->
<div class="idDom">
<div class="content">
<p class="title">发送弹幕:</p>
<input type="text" class="text">
<button class="btn" id="btn" type="button">发送</button>
</div>
</div>
</div>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(function () {
var boxDom = $("#boxDom");
var top, right;
var pageWidth = parseInt($(document).width());
var pageHeight = parseInt($(document).height());
$("#btn").bind("click", auto);
//绑定回车键按钮
document.onkeydown = function(event){
if(event.keyCode == 13){
auto();
}
}
function auto() {
//获取输入的字符串
var str = $(".text").val();
//生成一个元素
var createSpan = $("<span class ='string'></span>");
//给元素赋值
createSpan.text(str);
//为了页面友好,清空刚输入的内容
$(".text").val("");
//生成元素一个随机的位置 为了使每一条弹幕都出现不同的位置
top = Math.floor(Math.random()*pageHeight);
createSpan.css({ "top": top, "right": -400, "color": getRandomColor() });
boxDom.append(createSpan);
//元素在dom运动起来
//首先有一个span,只让最后一个动起来
var spandom = $("#boxDom>span:last-child");//找到最后一个span
spandom.animate({"right":pageWidth+300},10000,function(){
$(this).remove();
});
}
//定义一个可以生成随机颜色的方法
function getRandomColor(){
var colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
var color = "";
for(var i=0;i<6;i++){
color += colorArr[Math.floor(Math.random()*16)];
}
return "#"+color;
}
})
$(function () {
var boxDom = $("#boxDom");
var top, right;
var pageWidth = parseInt($(document).width());
var pageHeight = parseInt($(document).height());
$("#btn").bind("click", auto);
//绑定回车键按钮
document.onkeydown = function(event){
if(event.keyCode == 13){
auto();
}
}
function auto() {
//获取输入的字符串
var str = $(".text").val();
//生成一个元素
var createSpan = $("<span class ='string'></span>");
//给元素赋值
createSpan.text(str);
//为了页面友好,清空刚输入的内容
$(".text").val("");
//生成元素一个随机的位置 为了使每一条弹幕都出现不同的位置
top = Math.floor(Math.random()*pageHeight);
createSpan.css({ "top": top, "right": -400, "color": getRandomColor() });
boxDom.append(createSpan);
//元素在dom运动起来
//首先有一个span,只让最后一个动起来
var spandom = $("#boxDom>span:last-child");//找到最后一个span
spandom.animate({"right":pageWidth+300},10000,function(){
$(this).remove();
});
}
//定义一个可以生成随机颜色的方法
function getRandomColor(){
var colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
var color = "";
for(var i=0;i<6;i++){
color += colorArr[Math.floor(Math.random()*16)];
}
return "#"+color;
}
})
</script>
</body>
</html>

运行效果如下图所示:

jQuery实现的页面弹幕效果【测试可用】

感兴趣的朋友还可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun,测试一下运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
jQuery实现frame之间互通的方法
Jun 26 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
jQuery实现键盘回车搜索功能
Jul 25 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
jQuery实现的弹幕效果完整实例
Sep 06 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
jQuery 改变P标签文本值方法
Feb 24 jQuery
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
jQuery实现轮播图及其原理详解
Apr 12 #jQuery
jQuery实现参数自定义的文字跑马灯效果
Aug 15 #jQuery
jQuery轮播图实例详解
Aug 15 #jQuery
layui中使用jquery控制radio选中事件的示例代码
Aug 15 #jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 #jQuery
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 #jQuery
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 #jQuery
You might like
php miniBB中文乱码问题解决方法
2008/11/25 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
js Function类型
2011/12/04 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
vue-router 组件复用问题详解
2018/01/22 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python内置函数dir详解
2015/04/14 Python
Python抽象类的新写法
2015/06/18 Python
Python实现识别手写数字大纲
2018/01/29 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
十佳青年个人事迹材料
2014/01/28 职场文书
小学生节水倡议书
2015/04/29 职场文书
检察院起诉书
2015/05/20 职场文书
管辖权异议上诉状
2015/05/23 职场文书
初中数学教学随笔
2015/08/15 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
MySQL中order by的使用详情
2021/11/17 MySQL