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 window.document的属性、方法和事件小结
Oct 24 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
May 04 Javascript
js实现仿QQ秀换装效果的方法
Mar 04 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
Feb 17 Javascript
javascript实现抽奖程序的简单实例
Jun 07 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
JS实现的Unicode编码转换操作示例
Apr 28 Javascript
JS实现带动画的回到顶部效果
Dec 28 Javascript
vue2.0 资源文件assets和static的区别详解
Apr 08 Javascript
微信小程序学习笔记之本地数据缓存功能详解
Mar 29 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
Nov 14 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
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
xml+php动态载入与分页
2006/10/09 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
React-Native中props具体使用详解
2017/09/04 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python Django模板的使用方法(图文)
2013/11/04 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
Django中间件实现拦截器的方法
2018/06/01 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
python字符串查找函数的用法详解
2019/07/08 Python
python实现小世界网络生成
2019/11/21 Python
Python基于WordCloud制作词云图
2019/11/29 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
运输服务质量承诺书
2014/03/27 职场文书
2014年项目工作总结
2014/11/24 职场文书
社区母亲节活动总结
2015/02/10 职场文书
实习推荐信格式模板
2015/03/27 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL