javascript实现移动端红包雨页面


Posted in Javascript onJune 23, 2020

本文实例为大家分享了js实现移动端红包雨页面的具体代码,供大家参考,具体内容如下

实习的效果如下:

javascript实现移动端红包雨页面

javascript实现移动端红包雨页面

具体代码如下

html部分:

<!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>红包雨</title>
 <link rel="stylesheet" href="./css/demo.css" >
 <link rel="stylesheet" href="./css/index.css" >
</head>
<body>
 <!-- 红包 -->
 <ul class="redPaper">
  <!-- <li>
   <a href="#" rel="external nofollow" ><img src="./images/hb_1.png" alt=""></a>
  </li> -->
 </ul>
 <div class="backward">
  <span></span>
 </div>
 <script src="./js/jquery.min.js"></script>
 <script src="./js/index.js"></script>
 <script>
  
 </script>
</body>
</html>

demo.css为初始化css,可以不加
index.css部分

body{
 width: 100%;
 height: 100%;
 background-image: url(../images/bj.jpg);
 background-repeat: no-repeat;
 background-size: cover;
 position: relative;
}
.redPaper{
 width: 100%;
 height: 100%;
 /* border: 1px solid black; */
 overflow: hidden;
}
.redPaper li {
 position: absolute;
 animation: all 3s linear;
 top:-100px;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.redPaper li a{
 display: block;
}
.backward{
 width: 100%;
 background:#ccc;
 opacity: 0.5;
 position: absolute;
 top: 0;
 
}
.backward span{
 display: inline-block;
 width: 100px;
 height: 100px;
 color: #000;
 font-weight: bold;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
 text-align: center;
 line-height: 100px;
 font-size: 1000%;
}

index.js部分:

$(document).ready(function () {
 var win = (parseInt($('.redPaper').css('width'))) - 60;
 console.log(win)
 $(".redPaper").css("height", $(document).height());
 $(".backward").css("height", $(document).height());
 $("li").css({});
 // 点击确认的时候关闭模态层
 // $(".sen a").click(function(){
 // $(".mo").css("display", "none")
 // });

 var del = function () {
  nums++;
  //  console.info(nums);
  //  console.log($(".li" + nums).css("left"));
  $(".li" + nums).remove();
  setTimeout(del, 200)
 }

 var addRedPaper = function () {
  var hb = parseInt(Math.random() * (3 - 1) + 1);
  var randomW = parseInt(Math.random() * (70 - 30) + 20);
  var randomLeft = parseInt(Math.random() * win);
  var randomRotate = (parseInt(Math.random() * 45)) + 'deg';
  // console.log(rot)
  num++;
  $(".redPaper").append("<li class='li" + num + "' ><a href='javascript:;'><img src='images/hb_" + hb + ".png' data-num ='" + num + "'></a></li>");
  $(".li" + num).css({
   "left": randomLeft,
  });
  $(".li" + num + " a img").css({
   "width": randomW,
   "transform": "rotate(" + randomRotate + ")",
   "-webkit-transform": "rotate(" + randomRotate + ")",
   "-ms-transform": "rotate(" + randomRotate + ")", /* Internet Explorer */
   "-moz-transform": "rotate(" + randomRotate + ")", /* Firefox */
   "-webkit-transform": "rotate(" + randomRotate + ")",/* Safari 和 Chrome */
   "-o-transform": "rotate(" + randomRotate + ")" /* Opera */
  });
  $(".li" + num).animate({ 'top': $(window).height() + 20 }, 5000, function () {
   //删掉已经显示的红包
   this.remove()
  });
  //点击红包的时候弹出模态层
  $(".li" + num).click(function (e) {
   if (e.target.tagName == 'IMG') {
    console.log(e.target.dataset.num)
   }

  });
  setTimeout(addRedPaper, 200)
 }

 //增加红包
 var num = 0;
 setTimeout(addRedPaper, 3000);

 //倒数计时
 var backward = function () {
  numz--;
  if (numz > 0) {
   $(".backward span").html(numz);
  } else {
   $(".backward").remove();
  }
  setTimeout(backward, 1000)

 }

 var numz = 4;
 backward();

})

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

Javascript 相关文章推荐
this[] 指的是什么内容 讨论
Mar 24 Javascript
创建js对象和js类的方法汇总
Dec 24 Javascript
jQuery中replaceWith()方法用法实例
Dec 25 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
May 21 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
Jul 12 Javascript
js实现的简练高效拖拽功能示例
Dec 21 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
Aug 28 Javascript
vue用addRoutes实现动态路由的示例
Sep 15 Javascript
react 创建单例组件的方法
Apr 26 Javascript
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
JS + HTML 罗盘式时钟的实现
May 21 Javascript
JS实现canvas简单小画板功能
Jun 23 #Javascript
javascript+Canvas实现画板功能
Jun 23 #Javascript
vue.js实现照片放大功能
Jun 23 #Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 #Javascript
vue.js实现双击放大预览功能
Jun 23 #Javascript
vue实现分页的三种效果
Jun 23 #Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 #Javascript
You might like
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
两个开源的Php输出Excel文件类
2010/02/08 PHP
php变量范围介绍
2012/10/15 PHP
基于Zend的Captcha机制的应用
2013/05/02 PHP
解析PHP提交后跳转
2013/06/23 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
python实现SOM算法
2018/02/23 Python
设置python3为默认python的方法
2018/10/31 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
工商管理专业实习生自我鉴定
2013/09/29 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
档案信息化建设方案
2014/05/16 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
药店收银员岗位职责
2015/04/07 职场文书