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简单图表peity.js使用示例
May 02 Javascript
jQuery获取iframe的document对象的方法
Oct 10 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
Apr 06 Javascript
javascript中setTimeout使用指南
Jul 26 Javascript
node网页分段渲染详解
Sep 05 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
微信小程序  wx.request合法域名配置详解
Nov 23 Javascript
jQuery图片轮播功能实例代码
Jan 29 Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
vue实现简单瀑布流布局
May 28 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
Yii分页用法实例详解
2014/12/04 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
vue 递归组件的简单使用示例
2021/01/14 Vue.js
Python yield使用方法示例
2013/12/04 Python
python抓取百度首页的方法
2015/05/19 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
两年的个人工作自我评价
2014/01/10 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
2015年班组长工作总结
2015/04/10 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
vue实现在data里引入相对路径
2022/06/05 Vue.js