小程序红包雨

这篇博客介绍了如何实现小程序中的红包雨效果。作者honey缘木鱼是小程序社区的博主,分享了包含CSS、WXML和JS代码的实战开发教程。文章强调内容为原创,并提供了原文地址和相关语音口令红包的微信小程序Demo链接。
摘要由CSDN通过智能技术生成

效果图

//建立临时红包列表 var packetList = [];
 //建立临时红包图片数组 var srcList = ["../images/hogbao.png", "../images/hogbao2.png"];
 //生成初始化红包 for (var i = 0; i < that.data.packetNum; i++) {
 // 生成随机位置(水平位置) var left = Math.random() * that.data.windowWidth - 20;
 // 优化位置,防止红包越界现象,保证每个红包都在屏幕之内 if (left < 0) {
        left += 20;
      } else if (left > that.data.windowWidth) {
        left -= 20;
      }
 // 建立临时单个红包 var packet = {
 src: srcList[Math.ceil(Math.random() * 2) - 1],
 top: -30,
 left: left,
 speed: Math.random() * 2500 + 3000 //生成随机掉落时间,保证每个掉落时间保持在3秒到5.5秒之间      }
 // 将单个红包装入临时红包列表      packetList.push(packet);
 // 将生成的临时红包列表更新至页面数据,页面内进行渲染      that.setData({
 packetList: packetList
      })
    }

 // 初始化动画执行当前索引 var tempIndex = 0;
 // 开始定时器,每隔1秒掉落一次红包    that.data.showInter = setInterval(function () {
 // 生成当前掉落红包的个数,1-3个 var showNum = Math.ceil(Math.random() * 3);
 // 防止数组越界 if (tempIndex * showNum >= that.data.packetNum) {
 // 如果所有预生成的红包已经掉落完,清除定时器        clearInterval(that.data.showInter);
      } else {
 switch (s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值