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操作select控件的几种方法
Jun 02 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
JS实现的一个简单的Autocomplete自动完成例子
Apr 16 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
Nov 02 Javascript
8个超实用的jQuery功能代码分享
Jan 08 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
Mar 20 Javascript
jquery实现图片上传之前预览的方法
Jul 11 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
AngularJS基础 ng-paste 指令简单示例
Aug 02 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
Oct 19 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
thinkphp配置连接数据库技巧
2014/12/02 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
Python实现代码统计工具
2019/09/19 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
学生自我鉴定
2013/12/18 职场文书
销售人员获奖感言
2014/02/05 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
欢迎新生标语2015
2015/07/16 职场文书
预备党员入党感想
2015/08/10 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL