詳解微信小程序用定時器實(shí)現(xiàn)倒計(jì)時效果
平常在微信小程序開發(fā)的時候,因項(xiàng)目的需求,倒計(jì)時必不可少,下面主要講解定時器在微信小程序中的使用。
這里要先聲明一點(diǎn)的就是,該篇主要實(shí)現(xiàn)倒計(jì)時功能,而且實(shí)現(xiàn)是時長較短的倒計(jì)時,其他的優(yōu)化什么的不作主要考慮。
如果實(shí)現(xiàn)簡單的60s倒計(jì)時效果,我們可直接使用setInterval即可,但是在微信小程序中,我們需要用微信小程序的語法,這時就會遇到一個難題,那就是怎么關(guān)閉定時器的問題,下面給出實(shí)例。
WXML代碼
<view class='countDown'>倒計(jì)時:<text style='color:red'>{{countDownNum}}</text>s</view>
JS代碼:
Page({
/**
* 頁面的初始數(shù)據(jù)
*/
data: {
timer: '',//定時器名字
countDownNum: '60'//倒計(jì)時初始值
},
onShow: function(){
//什么時候觸發(fā)倒計(jì)時,就在什么地方調(diào)用這個函數(shù)
this.countDown();
},
countDown: function () {
let that = this;
let countDownNum = that.data.countDownNum;//獲取倒計(jì)時初始值
//如果將定時器設(shè)置在外面,那么用戶就看不到countDownNum的數(shù)值動態(tài)變化,所以要把定時器存進(jìn)data里面
that.setData({
timer: setInterval(function () {//這里把setInterval賦值給變量名為timer的變量
//每隔一秒countDownNum就減一,實(shí)現(xiàn)同步
countDownNum--;
//然后把countDownNum存進(jìn)data,好讓用戶知道時間在倒計(jì)著
that.setData({
countDownNum: countDownNum
})
//在倒計(jì)時還未到0時,這中間可以做其他的事情,按項(xiàng)目需求來
if (countDownNum == 0) {
//這里特別要注意,計(jì)時器是始終一直在走的,如果你的時間為0,那么就要關(guān)掉定時器!不然相當(dāng)耗性能
//因?yàn)閠imer是存在data里面的,所以在關(guān)掉時,也要在data里取出后再關(guān)閉
clearInterval(that.data.timer);
//關(guān)閉定時器之后,可作其他處理codes go here
}
}, 1000)
})
}
})
好了,這就是簡單的倒計(jì)時實(shí)現(xiàn)過程,大家可復(fù)制代碼到微信開發(fā)者工具去驗(yàn)證效果。
以上所述是小編給大家介紹的微信小程序用定時器實(shí)現(xiàn)倒計(jì)時效果詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于javascript實(shí)現(xiàn)九九乘法表
這篇文章主要為大家詳細(xì)介紹了基于javascript實(shí)現(xiàn)九九乘法表的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-03-03
JavaScript?位運(yùn)算及實(shí)際應(yīng)用實(shí)例
這篇文章主要為大家介紹了JavaScript位運(yùn)算及實(shí)際應(yīng)用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
JavaScript 阻塞方式實(shí)現(xiàn)異步任務(wù)隊(duì)列
本文主要介紹了JavaScript 阻塞方式實(shí)現(xiàn)異步任務(wù)隊(duì)列,主要介紹了兩種方案,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
JavaScript中判斷數(shù)據(jù)類型的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了一些JavaScript中判斷數(shù)據(jù)類型的方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,需要的小伙伴可以了解一下2023-07-07
微信小程序商城項(xiàng)目之側(cè)欄分類效果(1)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崙?zhàn)商城系列之側(cè)欄分類效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
javascript getElementByTagName的使用
javascript getElementByTagName當(dāng)鼠標(biāo)放上去時將超鏈接的顏色設(shè)為藍(lán)色的。2009-06-06

