uniapp電商小程序實現一個訂單30分鐘倒計時功能?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
倒計時函數如下:
// cm 參數是截至時間-當前時間
// 截至時間是后臺返回的數據,當前時間通過new Date() 的方式進行獲取
runBack(cm) {
if (cm > 0) {
// 如果時間是超過1分鐘,則需要展示的樣式是: x分x秒,如果是小于1分鐘,則是 00分x秒
cm > 60000
? (this.rocallTime =
(new Date(cm).getMinutes() < 10
? "0" + new Date(cm).getMinutes()
: new Date(cm).getMinutes()) +
":" +
(new Date(cm).getSeconds() < 10
? "0" + new Date(cm).getSeconds()
: new Date(cm).getSeconds()))
: (this.rocallTime =
"00:" +
(new Date(cm).getSeconds() < 10
? "0" + new Date(cm).getSeconds()
: new Date(cm).getSeconds()));
let _msThis = this;
// 使用setTimeout倒計時,1秒后,重復調用此函數。,直到cm =0為止,跳出這個函數
setTimeout(function() {
cm -= 1000;
_msThis.runBack(cm);
}, 1000);
} else {
this.ispay = false
}
},如果只是一個單純的倒計時,可以通過setInterval進行處理,
let time = 1800;
setInterval(function(){
time=time-1;
var minute=parseInt(time/60);
var second=parseInt(time%60);
console.log('還剩'+minute+'分'+second+'秒');
},1000);如果上面的這個倒計時函數放在頁面的onload函數中,則每次這個頁面加載,比如重新加載小程序的時候,都會進行30分鐘倒計時,而我們想要的是,從下訂單的那一刻開始進行的30分鐘倒計時,所以,還是需要用第一種方式來進行處理。截至日期由后臺返給的方式來。
關于uniapp電商小程序實現一個訂單30分鐘倒計時功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。