微信小程式 多倒計時砍殺
阿新 • • 發佈:2018-11-19
<!--pages/input/input.wxml--> <view class="list" wx:for="{{list}}"wx:key="index"> <view class='m-list' style='margon-top:20px'> <view class='head'> <view class='head-left'>限時秒殺,持續搶購中</view> <view class='head-right'><view class='time-txt'>距結束:</view> <view class='time'> {{item.timeCountDown}} </view> </view> </view> <view class='listxq'> <view class='listxq-left'> <view class='jianjie'> <view class='name'>{{item.name}}</view> <view class='oldprice'>{{item.oldprice}}</view> <view class='newprice'>{{item.newprice}}</view> </view> </view> <view class='listxq-right'> <view class='shengyu'>剩餘:{{item.shengyu}}</view> <view class='buy'>立即搶購</view> </view> </view> </view> </view>
//獲取應用例項 Page({ data: { stopTime:"", list: [ { src: '../../images/msimg.png', name: '測試12', oldprice: '¥120.00', newprice: '¥100.00', shengyu: "120", timeCountDown: "00天00:00:00", timeStamp: 20000, }, { src: '../../images/msimg.png', name: '測試12', oldprice: '¥120.00', newprice: '¥100.00', shengyu: "120", timeCountDown: "00天00:00:00", timeStamp: 40000, } ], }, update(time) { let day = Math.floor(time / 1000 / 60 / 60 / 24), hour = Math.floor(time / 1000 / 60 / 60 % 24), minute = Math.floor(time / 1000 / 60 % 60), second = Math.floor(time / 1000 % 60); day < 10 && (day = '0' + day); hour < 10 && (hour = '0' + hour); minute < 10 && (minute = '0' + minute); second < 10 && (second = '0' + second); var re = day + '天' + hour + ':' + minute + ':' + second; return re; }, onLoad() { var that = this; this.setData({ stopTime:setInterval(function () { that.timer(); }.bind(this), 1000) }) }, timer: function () { var list = this.data.list; var that = this; var num = 0; for (var i = 0, len = list.length; i < len; i++) { var timeStamp = list[i].timeStamp; var timeCountDown = 'list[' + i + '].timeCountDown'; var timeStamps = 'list[' + i + '].timeStamp'; let time = timeStamp; time -= 1000; if (time <= 0) { that.setData({ [timeCountDown]: '已結束', [timeStamps]: time }) } else { num++; var timer = that.update(time); console.log(timeCountDown); that.setData({ [timeCountDown]: timer, [timeStamps]: time }) } } if(num>0){ }else{ clearInterval(this.data.stopTime) } }, })