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 相关文章推荐
JavaScript日历实现代码
Sep 12 Javascript
无阻塞加载脚本分析[全]
Jan 20 Javascript
为原生js Array增加each方法
Apr 07 Javascript
javascript 二进制运算技巧解析
Nov 27 Javascript
JS基于递归实现倒计时效果的方法
Nov 26 Javascript
微信小程序 数组中的push与concat的区别
Jan 05 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
Apr 06 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
Mar 20 Javascript
Node.js事件的正确使用方法
Apr 05 Javascript
javascript中call,apply,callee,caller用法实例分析
Jul 24 Javascript
通过实例解析JavaScript for in及for of区别
Jun 15 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 中的类
2006/10/09 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
javascript 短路法代码精简
2009/08/20 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
Python递归函数定义与用法示例
2017/06/02 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
django 微信网页授权登陆的实现
2019/07/30 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
Delphi工程师笔试题
2013/09/21 面试题
应届生会计求职信
2013/11/11 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
北京颐和园导游词
2015/01/30 职场文书
数学教师个人工作总结
2015/02/06 职场文书
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS