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 UI Grid 模态框中的表格实例代码
Apr 01 jQuery
jQuery Tree Multiselect使用详解
May 02 jQuery
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
使用jquery实现轮播图效果
Jan 02 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
python实现杨辉三角思路
2017/07/14 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
奥林匹克的口号
2014/06/13 职场文书
2015年手术室工作总结
2015/05/11 职场文书
征求意见函
2015/06/05 职场文书
python b站视频下载的五种版本
2021/05/27 Python
Golang中channel的原理解读(推荐)
2021/10/16 Golang
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL