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 相关文章推荐
可在线编辑网页文字效果代码(单击)
Mar 02 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
javascript判断图片是否加载完成的方法推荐
May 13 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
js实现自定义路由
Feb 04 Javascript
Node.js使用gm拼装sprite图片
Jul 04 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 Javascript
关于angularJs清除浏览器缓存的方法
Nov 28 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
elementui的el-popover修改样式不生效的解决
Jun 30 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
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
最短的IE判断代码
2011/03/13 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python的scipy实现插值的示例代码
2019/11/12 Python
python、Matlab求定积分的实现
2019/11/20 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
工作表扬信
2015/01/17 职场文书
消夏晚会主持词
2015/06/30 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers