简单实现jQuery弹幕效果


Posted in jQuery onMay 06, 2017

在要写一个弹幕案例的时候,首先要清楚每一步要干什么。
首先搭好框架之后在要发送弹幕时应该准备进行如下步骤:

  • 获取到要发送到弹幕上的内容,即获取到文本框输入的内容。通过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弹幕效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
jQuery滑动到底部加载下一页数据的实例代码
May 22 jQuery
jQuery事件_动力节点Java学院整理
Jul 05 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
基于ajax及jQuery实现局部刷新过程解析
Sep 12 jQuery
jQuery实现购物车全功能
Jan 11 jQuery
jquery实现提示语淡入效果
May 05 #jQuery
Jquery获取radio选中的值
May 05 #jQuery
jQuery实现简单的抽奖游戏
May 05 #jQuery
jquery中each循环的简单回滚操作
May 05 #jQuery
jquery dataTable 获取某行数据
May 05 #jQuery
js和jquery中获取非行间样式
May 05 #jQuery
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 #jQuery
You might like
用PHP编写PDF文档生成器
2006/10/09 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
jquery 手势密码插件
2017/03/17 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
python实现一个简单的ping工具方法
2019/01/31 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
团组织关系介绍信
2014/01/12 职场文书
七一表彰活动方案
2014/01/18 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
golang DNS服务器的简单实现操作
2021/04/30 Golang