JavaScript Html实现移动端红包雨功能页面


Posted in Javascript onJanuary 10, 2021

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

实现效果如下:

JavaScript Html实现移动端红包雨功能页面

JavaScript Html实现移动端红包雨功能页面

具体代码如下

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="#" ><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 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
js优化针对IE6.0起作用(详细整理)
Dec 25 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
require.js的用法详解
Oct 20 Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 Javascript
一个例子轻松学会Vue.js
Jan 02 Javascript
js获取浏览器和屏幕的各种宽度高度
Feb 22 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
详解一个基于套接字实现长连接的express
Mar 28 Javascript
JS实现公告上线滚动效果
Jan 10 #Javascript
Vuex实现简单购物车
Jan 10 #Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 #Vue.js
基于vuex实现购物车功能
Jan 10 #Vue.js
原生JavaScript实现轮播图
Jan 10 #Javascript
原生JavaScript实现留言板
Jan 10 #Javascript
JavaScript实现点击切换验证码及校验
Jan 10 #Javascript
You might like
php数组合并的二种方法
2014/03/21 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
js中将字符串转换成json的三种方式
2011/01/12 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
python远程登录代码
2008/04/29 Python
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
总经理助理的职责
2014/03/14 职场文书
科技工作者先进事迹
2014/08/16 职场文书
写给领导的感谢信
2015/01/22 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python