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