微信小程序倒計時(shí)功能
發表時(shí)間:2022-9-6
發布人(rén):融晨科技
浏覽次數:439
倒計時(shí)功能是(shì)一個(gè)比較常見的(de)功能,比如用戶獲取驗證碼就(jiù)需要(yào / yāo)用到(dào)。這(zhè)裏記錄一下在(zài)微信小程序裏面倒計時(shí)功能的(de)簡單實現
直接看看代碼吧
//倒計時(shí)60秒
function countDown(that,count) {
if (count == 0) {
that.setData({
timeCountDownTop: '獲取驗證碼',
counting:false
})
return;
}
that.setData({
counting:true,
timeCountDownTop: count + '秒後重新獲取',
})
setTimeout(function(){
count--;
countDown(that, count);
}, 1000);
}
在(zài)需要(yào / yāo)倒計時(shí)的(de)地(dì / de)方調用
Page({
data:{
counting:false
},
//生成驗證碼
generateVerifyCode:function() {
var that = this;
if (!that.data.counting) {
wx.showToast({
title: '驗證碼已發送',
})
//開始倒計時(shí)60秒
countDown(that, 60);
}
},
})
下面簡單介紹下功能的(de)實現
首先倒計時(shí)的(de)方法是(shì)寫在(zài)Page的(de)外面,這(zhè)個(gè)别搞錯了(le/liǎo)
實現倒計時(shí)關鍵的(de)地(dì / de)方在(zài)于(yú)setTimeout方法,也(yě)即下面這(zhè)段代碼。setTimeout方法可以(yǐ)設置在(zài)指定的(de)時(shí)間間隔執行某個(gè)函數。應用的(de)格式是(shì)setTimeout(function(),time),function就(jiù)是(shì)對應要(yào / yāo)執行的(de)方法,time就(jiù)是(shì)時(shí)間間隔,這(zhè)裏的(de)1000表示1000毫秒,也(yě)就(jiù)是(shì)間隔1秒執行一次countDown方法。
setTimeout(function(){
count--;
countDown(that, count);
}, 1000);
countDown方法中利用count字段來(lái)設置倒計時(shí)的(de)時(shí)間,比如這(zhè)裏是(shì)60秒
countDown方法中把that也(yě)傳遞進去是(shì)爲(wéi / wèi)了(le/liǎo)在(zài)倒計時(shí)狀态改變時(shí)利用setData方法更新頁面
countDown方法中利用counting字段來(lái)判斷是(shì)否已經在(zài)倒計時(shí)了(le/liǎo),避免重複開始倒計時(shí)倒計時(shí)結束是(shì)通過count來(lái)判斷,通過return直接退出(chū)
以(yǐ)上(shàng)就(jiù)是(shì)微信小程序裏面倒計時(shí)功能的(de)簡單實現啦,希望對大(dà)家有用!