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 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
Oct 11 Javascript
jQuery图片播放8款精美插件分享
Feb 17 Javascript
JS常用正则表达式总结
Nov 12 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
利用纯Vue.js构建Bootstrap组件
Nov 03 Javascript
JavaScript贪吃蛇小组件实例代码
Aug 20 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
微信小程序中换行空格(多个空格)写法详解
Jul 10 Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 Javascript
微信小程序云开发详细教程
May 16 Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 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
php5 图片验证码实现代码
2009/12/11 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
js中获取事件对象的方法小结
2011/03/13 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
简单介绍Python中的几种数据类型
2016/01/02 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
python随机模块random使用方法详解
2020/02/14 Python
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
2014年财政工作总结
2014/12/10 职场文书
优秀党员事迹材料
2014/12/18 职场文书
研究生个人学年总结
2015/02/14 职场文书
学雷锋活动简报
2015/07/20 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS