支付寶小程序計時器

1.引入插件timer.js

var Timer= require(’…/…/utils/timer.js’);

2.在 onLoad 週期初始化,第二個參數17爲需要計時的總秒數

onLoad: function () {

this.timer= new Timer(this,17);

}
3. 在任意的方法中,調用start方法觸發倒計時

this.timer.start();

4. timer.js 代碼如下

// 倒計時
class Timer{
  constructor(page, second) {
    this.page = page;
    this.page.setData({ time: second});
	 this.initSeconds = second;
  }
  start() {
    console.log('進入倒計時');
    var that = this;
    var seconds = that.initSeconds;
    that.page.setData({  time: seconds});
    let promise = new Promise((resolve, reject) => {
      let setTimer = setInterval(
        () => {
          seconds -= 1;
          that.page.setData({
            time: seconds,
          })
          if (seconds <= 0) {
            that.page.setData({
              time: '0'
            })
            resolve(setTimer)
          }
        }
        , 1000)
    })
    promise.then((setTimer) => {
	  console.log('清除計時器');
      clearInterval(setTimer)
    })
  }
}
module.exports = Timer;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章