简单实现jQuery弹幕效果
发布时间 - 2026-01-11 01:00:05 点击率:次在要写一个弹幕案例的时候,首先要清楚每一步要干什么。
首先搭好框架之后在要发送弹幕时应该准备进行如下步骤:

- 获取到要发送到弹幕上的内容,即获取到文本框输入的内容。通过jquery的var str = $(“#文本框的id”).val();
- 生成一个元素:利用jQuery的 var createSpan =$(““)生成一个span元素,以便发送。
- 给刚创建的span赋值,即获取到的文本框中的值 createSpan.text(str );
- 设置元素的动画效果,是元素动起来。利用jQuery的animate(css样式值,时间, 执行完动画调用的方法)。执行完动画得手动移除刚刚所添加的元素。
里面还有许多细节,仔细看就会有收获!
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8" />
<title>弹幕案例</title>
<script src = "http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function(){
var boxDom = $("#boxDom");
//var domContent = $("#domContent");
var top, right;
var pageWidth = parseInt($(document).width());
var pageHeight =parseInt($(document).height());
//点击按钮
$("#btn").bind("click",auto);//按钮绑定方法
//按下回车
document.onkeydown = function(){
if(event.keyCode == 13){
auto();
}
}
function auto(){
//1.获取输入的字符串
var str = $(".text").val();
//2.生成一个元素
var createSpan = $("<span class = 'string' ></span>");
//3.给生成的元素赋值
createSpan.text(str);
//为了页面友好,清空刚刚输入的值
$(".text").val("");
//生成元素一个随机的位置,为了使每条弹幕都出现在屏幕上不同的位置
top = Math.floor(Math.random()*pageHeight);
createSpan.css({"top":top, "right": -400, "color": getRandomColor()});
boxDom.append(createSpan);
//4.设置元素的动画效果,animate(css样式值,时间, 执行完动画调用的方法)
//页面上有N个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>
<style type="text/css">
html,body{
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
font-family: "微软雅黑";
background: #ccc;
}
.boxDom{
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}
.idDom{
width: 100%;
height: 60px;
background:#666;
position: fixed;
bottom: 0px;
}
.contet{
width: 500px;
height: 40px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
margin: auto;
}
.title{
display: inline;
font-size: 24px;
vertical-align: bottom;
color: #ffffff;
padding-left: 300px;
}
.text{
width: 300px;
height: 30px;
border:none;
border-radius:5px;
font-size: 20px;
margin-left:60px;
}
.btn{
width: 60px;
height: 30px;
color: #ffffff;
background-color: red;
border:none;
font-size:16px;
margin-left:60px;
margin-top: 20px;
}
.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="../images/bg_2.jpg" style="width:100%; height:100%" />
<div id = "idDom" class = "idDom">
<div class = "content">
<p class = "title"> 说点什么:</p>
<input type = "text" class = "text"/>
<button type = "button" class = "btn" id = "btn" >发送</button>
</div>
</div>
</div>
</body>
</html>
效果图如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# jQuery
# 弹幕
# js实现七夕表白弹幕效果 jQuery实现弹幕技术
# jQuery实现简单弹幕制作
# jQuery实现弹幕特效
# jquery实现直播弹幕效果
# jQuery实现简单弹幕效果
# 基于jQuery实现弹幕APP
# 基于jquery实现弹幕效果
# 又一枚精彩的弹幕效果jQuery实现
# 终于实现了!精彩的jquery弹幕效果
# jQuery实现弹幕效果案例
# 微软
# 每条
# 移除
# 文本框
# 出现在
# 上有
# 按下
# 发送到
# 时应
# 绑定
# 仔细看
# 框中
# 大家多多
# 要写
# 清空
# 要干
# 说点
# 画得
# 搭好
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript如何实现路由_前端路由原理是什么
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何在阿里云完成域名注册与建站?
如何续费美橙建站之星域名及服务?
如何在云主机上快速搭建多站点网站?
Laravel如何优化应用性能?(缓存和优化命令)
个人网站制作流程图片大全,个人网站如何注销?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
javascript读取文本节点方法小结
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何在 Pandas 中基于一列条件计算另一列的分组均值
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
潮流网站制作头像软件下载,适合母子的网名有哪些?
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
手机软键盘弹出时影响布局的解决方法
如何登录建站主机?访问步骤全解析
简单实现jsp分页
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
详解vue.js组件化开发实践
如何在万网自助建站中设置域名及备案?
Bootstrap整体框架之JavaScript插件架构
香港服务器如何优化才能显著提升网站加载速度?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
js代码实现下拉菜单【推荐】
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
黑客入侵网站服务器的常见手法有哪些?
Laravel中的withCount方法怎么高效统计关联模型数量
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel怎么判断请求类型_Laravel Request isMethod用法
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
三星网站视频制作教程下载,三星w23网页如何全屏?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Android中AutoCompleteTextView自动提示

