简单实现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


相关推荐: 免费网站制作appp,免费制作app哪个平台好?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  高端建站如何打造兼具美学与转化的品牌官网?  Laravel如何实现本地化和多语言支持?(i18n教程)  如何在云虚拟主机上快速搭建个人网站?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  高防服务器如何保障网站安全无虞?  用v-html解决Vue.js渲染中html标签不被解析的问题  网站图片在线制作软件,怎么在图片上做链接?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何升级到最新版本?(升级指南和步骤)  网站页面设计需要考虑到这些问题  C#如何调用原生C++ COM对象详解  Laravel如何处理异常和错误?(Handler示例)  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何在万网自助建站平台快速创建网站?  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  零基础网站服务器架设实战:轻量应用与域名解析配置指南  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  网站制作软件免费下载安装,有哪些免费下载的软件网站?  黑客如何利用漏洞与弱口令入侵网站服务器?  微信小程序 五星评分(包括半颗星评分)实例代码  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何在新浪SAE免费搭建个人博客?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  微信小程序 require机制详解及实例代码  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  中国移动官方网站首页入口 中国移动官网网页登录  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  C++用Dijkstra(迪杰斯特拉)算法求最短路径  java ZXing生成二维码及条码实例分享  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Laravel如何配置和使用缓存?(Redis代码示例)  Java类加载基本过程详细介绍  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何快速建站并高效导出源代码?  JS实现鼠标移上去显示图片或微信二维码