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 相关文章推荐
prototype.js的Ajax对象
Sep 23 Javascript
javascript里的条件判断
Feb 27 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
Feb 03 Javascript
基于dom编程中 动态创建与删除元素的使用
Apr 17 Javascript
jquery图片切换插件
Mar 16 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 Javascript
利用Three.js如何实现阴影效果实例代码
Sep 26 Javascript
Angular 作用域scope的具体使用
Dec 11 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
vue绑定数字类型 value为数字的实例
Aug 31 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获取新浪微博数据API实例
2013/11/12 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
简明json介绍
2008/09/28 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
js opener的使用详解
2014/01/11 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
详解Python中DOM方法的动态性
2015/04/11 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
销售会计工作职责
2013/12/02 职场文书
毕业设计说明书
2014/05/07 职场文书
食堂标语大全
2014/06/11 职场文书
先进员工获奖感言
2014/08/14 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
Go语言编译原理之源码调试
2022/08/05 Golang