Home  >  Article  >  Web Front-end  >  Simple implementation method of jQuery barrage effect

Simple implementation method of jQuery barrage effect

小云云
小云云Original
2018-01-12 11:23:471639browse

This article mainly introduces in detail the relevant information for simply realizing the jQuery barrage effect. I hope it can help you.

When you want to write a barrage case, you must first know what to do at each step.
After setting up the framework first, you should be prepared to perform the following steps when sending a barrage:

  • Get the content to be sent to the barrage, that is, get the content entered in the text box content. Generate an element through jquery's var str = $("#ID of the text box").val();

  • : Generate an element using jQuery's var createSpan =$("") span element for sending.

  • Assign a value to the span just created, that is, the value in the text box obtained createSpan.text(str);

  • Set the element Animation effects make elements move. Use jQuery's animate (css style value, time, method to call after executing animation). After executing the animation, you have to manually remove the elements you just added.

There are many details in it, you will be rewarded if you look carefully!


<!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 = &#39;string&#39; ></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 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;];
   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>
<p class = "boxDom" id = "boxDom">
 <img src="../images/bg_2.jpg" style="width:100%; height:100%" />
 <p id = "idDom" class = "idDom">
  <p class = "content">
   <p class = "title"> 说点什么:</p>
   <input type = "text" class = "text"/>
   <button type = "button" class = "btn" id = "btn" >发送</button>
  </p>
 </p>
</p>
</body>
</html>

The renderings are as follows:

##Related recommendations:


HTML5 text barrage effect

JavaScript implementation of simple barrage effect example analysis

Code implementation of WeChat applet barrage

The above is the detailed content of Simple implementation method of jQuery barrage effect. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn