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