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 相关文章推荐
JS获取鼠标坐标的实例方法
Jul 18 Javascript
js拼接html注意问题示例探讨
Jul 14 Javascript
jQuery中find()方法用法实例
Jan 07 Javascript
javascript实现俄罗斯方块游戏的思路和方法
Apr 27 Javascript
js+cookies实现悬浮购物车的方法
May 25 Javascript
分享网页检测摇一摇实例代码
Jan 14 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
Sep 05 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
Sep 14 Javascript
Node.js常用工具之util模块
Mar 09 Javascript
详解vue+css3做交互特效的方法
Nov 20 Javascript
js中DOM事件绑定分析
Mar 18 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
Sep 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
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
prototype 的说明 js类
2006/09/07 Javascript
jQuery Ajax之load()方法
2009/10/12 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
node通过express搭建自己的服务器
2017/09/30 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
python中提高pip install速度
2020/02/14 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
小班重阳节活动方案
2014/02/08 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
出生证明范本
2015/06/15 职场文书