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 相关文章推荐
JavaScript的面向对象方法以及差别
Mar 31 Javascript
Javascript 面向对象之重载
May 04 Javascript
jQuery中jqGrid分页实现代码
Nov 04 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
简单谈谈javascript中this的隐式绑定
Feb 22 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
微信小程序picker组件下拉框选择input输入框的实例
Sep 20 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
Nov 10 Javascript
基于bootstrap页面渲染的问题解决方法
Aug 09 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
JS实现随机抽选获奖者
Nov 07 Javascript
原生js滑动轮播封装
Jul 31 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
Yii2如何批量添加数据
2016/05/17 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
实例浅析js的this
2016/12/11 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
python实现AES加密与解密
2019/03/28 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
Python实现GIF图倒放
2020/07/16 Python
python能做哪些生活有趣的事情
2020/09/09 Python
python中Mako库实例用法
2020/12/31 Python
python实现按日期归档文件
2021/01/30 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
小学新学期教师寄语
2014/01/18 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
个人汇报材料范文
2014/12/30 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
胡桃夹子观后感
2015/06/11 职场文书
Go gorilla/sessions库安装使用
2022/08/14 Golang