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 相关文章推荐
WordPress JQuery处理沙发头像
Jun 22 Javascript
Javascript delete 引用类型对象
Nov 01 Javascript
网站基于flash实现的Banner图切换效果代码
Oct 14 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
关于js原型的面试题讲解
Sep 25 Javascript
纯js实现手风琴效果代码
Apr 17 Javascript
基于vue实现多引擎搜索及关键字提示
Mar 16 Javascript
微信小程序 首页制作简单实例
Apr 07 Javascript
react-router实现跳转传值的方法示例
May 27 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
JS实现显示当前日期的实例代码
Jul 03 Javascript
JavaScript页面加载事件实例讲解
Sep 01 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
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
Python中的字符串查找操作方法总结
2016/06/27 Python
视觉直观感受若干常用排序算法
2017/04/13 Python
python中reload(module)的用法示例详解
2017/09/15 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
三好学生自我鉴定
2013/12/17 职场文书
道德演讲稿
2014/05/21 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
一年级小学生评语大全
2014/12/25 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang