微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

微信小程序实现团购或秒杀批量倒计时

本文实例为大家分享微信小程序实现批量倒计时的具体代码,供大家参考,具体内容如下

效果

这里写图片描述

实现思路

微信小程序实现倒计时,可以将倒计时的时间进行每一秒的计算和渲染!

JS

  1. 模拟商品列表数据 goodsList;
  2. 在 onLoad 周期函数中对活动结束时间进行提取
  3. 建立时间格式化函数 timeFormat;
  4. 建立倒计时函数 countDown;
  5. 在 onLoad 周期函数提取结尾执行倒计时函数 countDown。

倒计时函数详解

  1. 获取当前时间,同时得到活动结束时间数组;
  2. 循环活动结束时间数组,计算每个商品活动结束时间的倒计时天、时、分、秒;
  3. 用 setData 方法刷新数据;
  4. 每个一秒执行一次倒计时函数 setTimeout(this.countDown,1000);
{endTimeList.push(o.actEndTime)}) this.setData({ actEndTimeList: endTimeList}); // 执行倒计时函数 this.countDown(); },timeFormat(param){//小于10的格式化函数 return param < 10 ? '0' + param : param; },countDown(){//倒计时函数 // 获取当前时间,同时得到活动结束时间数组 let newTime = new Date().getTime(); let endTimeList = this.data.actEndTimeList; let countDownArr = [];

// 对结束时间进行处理渲染到页面
endTimeList.forEach(o => {
let endTime = new Date(o).getTime();
let obj = null;
// 如果活动未结束,对时间进行处理
if (endTime - newTime > 0){
let time = (endTime - newTime) / 1000;
// 获取天、时、分、秒
let day = parseInt(time / (60 60 24));
let hou = parseInt(time % (60 60 24) / 3600);
let min = parseInt(time % (60 60 24) % 3600 / 60);
let sec = parseInt(time % (60 60 24) % 3600 % 60);
obj = {
day: this.timeFormat(day),hou: this.timeFormat(hou),min: this.timeFormat(min),sec: this.timeFormat(sec)
}
}else{//活动已结束,全部设置为'00'
obj = {
day: '00',hou: '00',min: '00',sec: '00'
}
}
countDownArr.push(obj);
})
// 渲染,然后每隔一秒执行一次倒计时函数
this.setData({ countDownList: countDownArr})
setTimeout(this.countDown,1000);
}
})

WXML

简单的布局和居中显示

rush:xml;"> {{item.day}}天 {{item.hou}}{{item.min}}{{item.sec}}

WXSS

rush:css;"> page{background-color: #eee;} .tui-countdown-content{ height: 50px; line-height: 50px; text-align: center; background-color: #fff; margin-top: 15px; padding: 0 15px; font-size: 18px; } .tui-conutdown-Box{ display: inline-block; height: 26px; width: 26px; line-height: 26px; text-align: center; background-color: #000; color: #fff; margin: 0 5px; } .tui-countdown-bg{ background-color: #DF0101; }

实际应用效果

由于活动已结束,所以时间全部为'00'

这里写图片描述

总结

由于微信小程序的数据处理比HTML的更加方便快捷,所以在实现相同效果的时候需要对应的转化一下思路,可能更好的解决问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。