小程序倒計(jì)時(shí)組件實(shí)現(xiàn)源碼
小程序中,很多都要使用倒計(jì)時(shí)插件,比如秒殺功能,比如驗(yàn)證碼倒計(jì)時(shí),那么下面為大家介紹小程序倒計(jì)時(shí)的插件。
介紹:
用于在微信小程序中進(jìn)行倒計(jì)時(shí)的組件。
功能:
1、最基礎(chǔ)的當(dāng)然就是倒計(jì)時(shí)功能了。
2、可以設(shè)置倒計(jì)時(shí)結(jié)束后執(zhí)行的事件。
3、可以設(shè)置倒計(jì)時(shí)執(zhí)行過程中每隔多少秒,執(zhí)行一次對(duì)應(yīng)的事件。
在JS中調(diào)用
1.在當(dāng)前js引入
timer = require('../../plug/wxTimer.js')
2.在全局app.js引入
app.js
globalData: {
userInfo: null,
timer: require('/plug/wxTimer.js')
}
當(dāng)前js
var app = getApp().globalData,
timer = app.timer;
最簡(jiǎn)單的調(diào)用方式:
var wxTimer = new timer({
beginTime:"00:00:10"
})
wxTimer.start(this);
wxTimer.stop();
開啟多個(gè)計(jì)時(shí)
//開啟第一個(gè)定時(shí)器
var wxTimer1 = new timer({
beginTime:"00:00:10",
name:'wxTimer1',
complete:function(){
console.log("完成了")
}
})
wxTimer1.start(this);
//開啟第二個(gè)定時(shí)器
var wxTimer2 = new timer({
beginTime:"00:01:11",
name:'wxTimer2',
complete:function(){
console.log("完成了")
}
})
wxTimer2.start(this);
倒計(jì)時(shí)結(jié)束后執(zhí)行事件
var wxTimer = new timer({
beginTime:"00:00:10",
complete:function(){
console.log("完成了")
}
})
wxTimer.start(this);
間隔執(zhí)行事件
var wxTimer = new timer({
beginTime:"00:00:10",
complete:function(){
console.log("完成了")
},
interval:2,
intervalFn:function(){
console.log("過去了2秒");
}
})
校準(zhǔn)時(shí)間
wxTimer.calibration();
結(jié)束計(jì)時(shí)
wxTimer.stop();
在wxml中引用
單個(gè)計(jì)時(shí)器:
顯示剩余時(shí)間:{{wxTimer}}
顯示剩余秒數(shù):{{wxTimerSecond}}
多個(gè)計(jì)時(shí)器:
顯示計(jì)時(shí)器1的剩余時(shí)間:{{wxTimerList['wxTimer1'].wxTimer}}
顯示計(jì)時(shí)器2的剩余時(shí)間:{{wxTimerList['wxTimer2'].wxTimer}}
顯示計(jì)時(shí)器1的剩余秒數(shù):{{wxTimerList['wxTimer1'].wxTimerSecond}}
顯示計(jì)時(shí)器2的剩余秒數(shù):{{wxTimerList['wxTimer2'].wxTimerSecond}}
注意:
1、由于內(nèi)部需要調(diào)用到小程序的setData方法,所以我們需要把this傳過去。
2、此方法會(huì)在page中生成一個(gè)名為wxTimer,wxTimerSecond和wxTimerList的數(shù)據(jù),請(qǐng)保證這些key沒有被占用 3、請(qǐng)?jiān)赿ata中添加一條屬性wxTimerList:{},否則將會(huì)報(bào)錯(cuò)。
其他參數(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ī)定每隔幾秒執(zhí)行一次intervalFn,如果為0則永遠(yuǎn)不會(huì)執(zhí)行,默認(rèn)為1
4、intervalFn 每隔interval秒執(zhí)行一次的函數(shù)。