先看看效果
效果图
直接上代码
js:
Page({ /** * 页面的初始数据 */ data: { listData: [] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let list = [ { id: 1, memberNickname: '列表1', remainTime: 86400000 }, { id: 2, memberNickname: '列表2', remainTime: 3226000 }, { id: 3, memberNickname: '列表3', remainTime: 15000 } ]; this.setData({ listData: list }); this.setCountDown(); }, /** * 倒计时 */ setCountDown: function(){ let time = 100; let { listData } = this.data; let list = listData.map((v, i) =>{ if (v.remainTime <= 0) { v.remainTime = 0; } let formatTime = this.getFormat(v.remainTime); v.remainTime -= time; v.countDown = `${formatTime.hh}:${formatTime.mm}:${formatTime.ss}.${parseInt(formatTime.ms / time)}`; return v; }) this.setData({ listData: list }); setTimeout(this.setCountDown, time); }, /** * 格式化时间 */ getFormat: function (msec){ let ss = parseInt(msec / 1000); let ms = parseInt(msec % 1000); let mm = 0; let hh = 0; if (ss > 60) { mm = parseInt(ss / 60); ss = parseInt(ss % 60); if (mm > 60) { hh = parseInt(mm / 60); mm = parseInt(mm % 60); } } ss = ss > 9 ? ss : `0${ss}`; mm = mm > 9 ? mm : `0${mm}`; hh = hh > 9 ? hh : `0${hh}`; return { ms, ss, mm, hh }; } })
wxml:
<view> <view class="flex_l_r_c" wx:for="{{listData}}" wx:key="id"> <view>{{item.memberNickname}}</view> <view>{{item.countDown}}</view> </view></view>
作者:不二很纯洁
链接:https://www.jianshu.com/p/c230f4841b70
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦