微信小程序中的倒計時


     這是我項目中的例子,如果有更好的建議歡迎留言 ,一起學習
                             

                              
//獲取時間
var sekillStartTime = resultLis[0].planGroup0.sekillStartTime;//開始時間
var sekillEndTime = resultLis[0].planGroup0.sekillEndTime;//結束時間
// 開始時間的總秒數ps:這里var的話是頁面傳的值的名字也是sekillStartTime這個
var startTimetm = "20" + sekillStartTime.substring(0, 2) + "-" + sekillStartTime.substring(2, 4) + "-" + sekillStartTime.substring(4, 6) + " " + sekillStartTime.substring(6, 8) + ":" + sekillStartTime.substring(8, 10) + ":" + sekillStartTime.substring(10, 12);
var startDate = new Date(startTimetm).getTime();
// 結束時間的總秒數
sekillEndTime = "20" + sekillEndTime.substring(0, 2) + "-" + sekillEndTime.substring(2, 4) + "-" + sekillEndTime.substring(4, 6) + " " + sekillEndTime.substring(6, 8) + ":" + sekillEndTime.substring(8, 10) + ":" + sekillEndTime.substring(10, 12);
var endTDate = new Date(sekillEndTime).getTime();
//秒搶的開始時間
var newTime = sekillStartTime.substring(6, 8) + ":" + sekillStartTime.substring(8, 10) + ':' + sekillStartTime.substring(10, 12);
//獲取系統當前時間
var currentDate = new Date();
currentDate= currentDate.getTime()
//時間段要注意兩種情況一種是剛進來就已經開始倒計時,還有就是到頁面還沒有倒計時,就用結束的時間減去當前的時間
var totalSecond ;
//秒搶開始時間減去當前時間就是當前時間到開始倒計時之間的時間段
var startSecond = startDate - currentDate;
// console.log(startSecond)
if (message == 1){ //倒計時狀態
if (startSecond<0){//已經在倒計時了
totalSecond = parseInt((endTDate - currentDate) / 1000);

} else if (startSecond > 0){//還沒有倒計時
totalSecond = parseInt((endTDate - startDate) / 1000);

}
var howmany = parseInt(startSecond / 1000);//當前時間到開始倒計時之間的時間段
that.countdown(howmany)

setTimeout(function () {
that.countdown(totalSecond)
}, startSecond)
 
 
} else if (message == 2){//今天秒搶場次結束
that.setData({
linguisticShow: false,
})
 
}
 
 
// 倒計時方法
countdown: function (totalSecond){
var that=this;
var interval = setInterval(function () {
console.log('i')
// 總秒數
var second = totalSecond;
// 天數位
var day = Math.floor(second / 3600 / 24);
var dayStr = day.toString();
if (dayStr.length == 1) dayStr = '0' + dayStr;
// 小時位
var hr = Math.floor((second - day * 3600 * 24) / 3600);
var hrStr = hr.toString();
if (hrStr.length == 1) hrStr = '0' + hrStr;

// 分鍾位
var min = Math.floor((second - day * 3600 * 24 - hr * 3600) / 60);
var minStr = min.toString();
if (minStr.length == 1) minStr = '0' + minStr;

// 秒位
var sec = second - day * 3600 * 24 - hr * 3600 - min * 60;;
var secStr = sec.toString();
if (secStr.length == 1) secStr = '0' + secStr;

that.setData({
countDownHour: hrStr,
countDownMinute: minStr,
countDownSecond: secStr,
});
totalSecond--;
if (totalSecond < 0) {
this.setData({
countDownHour: '00',
countDownMinute: '00',
countDownSecond: '00',
});
}
}.bind(that), 1000);

},


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM