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 相关文章推荐
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 Javascript
查看大图功能代码jquery版
Nov 05 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
js操作css属性实现div层展开关闭效果的方法
May 11 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
每天一篇javascript学习小结(Date对象)
Nov 13 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
AngularJS入门教程之AngularJS 模板
Aug 18 Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 Javascript
JavaScript定时器制作弹窗小广告
Feb 05 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 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在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
php面向对象值单例模式
2016/05/03 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
浅谈python3中input输入的使用
2019/08/02 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
Python内置类型性能分析过程实例
2020/01/29 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
new修饰符是起什么作用
2015/06/28 面试题
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
研究生求职推荐信范文
2013/11/30 职场文书
会计岗位职责范本
2014/03/07 职场文书
公司联欢会主持词
2015/07/04 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
详细聊聊vue中组件的props属性
2021/11/02 Vue.js