微信小程序倒計(jì)時(shí)組件更新,加入時(shí)間校準(zhǔn)
插件地址:github地址
針對(duì)在IOS下息屏和掛起狀態(tài)下倒計(jì)時(shí)不會(huì)繼續(xù),以及在安卓狀態(tài)下息屏導(dǎo)致變慢的問(wèn)題進(jìn)行的一次更新,具體效果請(qǐng)參考小程序 番茄鬧鐘。
暫時(shí)無(wú)法解決的痛點(diǎn):
1、在息屏和掛起下的倒計(jì)時(shí)結(jié)束以后需要跳轉(zhuǎn)頁(yè)面,但是有部分解決方案可以看我之前寫(xiě)的帖子,在這里
2、倒計(jì)時(shí)結(jié)束以后的函數(shù),以及每隔多少秒執(zhí)行的函數(shù)都不會(huì)執(zhí)行,只有在重新進(jìn)來(lái)之后才會(huì)執(zhí)行。
wxTimer
介紹:用于在微信小程序中進(jìn)行倒計(jì)時(shí)的組件。
功能
1、最基礎(chǔ)的當(dāng)然就是倒計(jì)時(shí)功能了。
2、可以設(shè)置倒計(jì)時(shí)結(jié)束后執(zhí)行的事件。
3、可以設(shè)置倒計(jì)時(shí)執(zhí)行過(guò)程中每隔多少秒,執(zhí)行一次對(duì)應(yīng)的事件。
用法
引入:
var timer = require('../../plugins/wxTimer.js');
最簡(jiǎn)單的調(diào)用方式:
var wxTimer = new timer({
beginTime:"00:00:10"
})
wxTimer.start(this);
wxTimer.stop();
倒計(jì)時(shí)結(jié)束后執(zhí)行事件:
var wxTimer = new timer({
beginTime:"00:00:10",
complete:function(){
console.log("完成了")
}
})
wxTimer.start(this);
wxTimer.stop();
間隔執(zhí)行事件:
var wxTimer = new timer({
beginTime:"00:00:10",
complete:function(){
console.log("完成了")
},
interval:2,
intervalFn:function(){
console.log("過(guò)去了2秒");
}
})
校準(zhǔn)時(shí)間:
wxTimer.calibration();
注意:
1、由于內(nèi)部需要調(diào)用到小程序的setData方法,所以我們需要把this傳過(guò)去。
2、此方法會(huì)在page中生成一個(gè)名為wxTimer和wxTimerSecond的data,分別是倒計(jì)時(shí)的 時(shí)/分/秒 版本和倒計(jì)時(shí)的純秒數(shù)版本,如果需要在wxml中引用倒計(jì)時(shí)的數(shù)據(jù)直接{{wxTimer}}或者{{wxTimerSecond}}即可
其他參數(shù):
1、beginTime 需要倒計(jì)時(shí)的時(shí)間,比如:"01:11:12",默認(rèn)值為"00:00:00",也可以省略秒數(shù),如:"01:10"
2、complete 倒計(jì)時(shí)歸零0時(shí)的回調(diào)函數(shù),如果為beginTime = "00:00:00"則立即調(diào)用
3、interval 倒計(jì)時(shí)的過(guò)程中,規(guī)定每隔幾秒執(zhí)行一次intervalFn,如果為0則永遠(yuǎn)不會(huì)執(zhí)行,默認(rèn)為1
4、intervalFn 每隔interval秒執(zhí)行一次的函數(shù)。
歷史更新
2017.03.22 應(yīng)對(duì)在息屏和掛起狀態(tài)下倒計(jì)時(shí)無(wú)法進(jìn)行的問(wèn)題,加入了校準(zhǔn)功能,可以在onShow()函數(shù)中直接調(diào)用wxTimer.calibration()來(lái)校準(zhǔn)時(shí)間。
-
微信小程序微信支付接入開(kāi)發(fā)教程
導(dǎo)讀: 本文hishop主要講述微信小程序接入微信支付開(kāi)發(fā)過(guò)程中遇到的坑,分為兩大塊,小程序端和后臺(tái)接口封裝。詳情
第二部分:如何開(kāi)通一個(gè)小商店