码迷,mamicode.com
首页 > 微信 > 详细

【微信小程序】使用setTimeout制作定时器的思路

时间:2017-10-12 10:32:46      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:turn   art   pre   replace   cti   www.   form   w3cschool   orm   

setTimeout(func, time)可以使得每隔time毫秒就执行一次func函数,常用来做计时器/时钟。

下面是在微信小程序中的使用思路,只截取了关键部分代码。

Page({
  // ...省略
  // 自定义的开始按钮
  startBtn: function () {
    console.log("focusMode:开始按钮");
    Countdown();
  },
});

// 倒计时
function Countdown() {
  setTimeout(function () {
    console.log("----Countdown----");
    Countdown();
  }, 1000);
};

setTimeout()延迟指定毫秒数后执行指定函数,可通过递归调用setTimeout()来实现各种计时器功能。

如果想做每秒钟刷新一次的时钟,只需每次执行时间转换函数并setData更新界面即可。

下面是Javascript关于时间的转换函数。

// 秒数 --> 时:分:秒
function formatTime(seconds) {
    return [
        parseInt(seconds / 60 / 60),
        parseInt(seconds / 60 % 60),
        parseInt(seconds % 60)
    ]
        .join(":")
        .replace(/\b(\d)\b/g, "0$1");
}

另外,做定时重复调用函数的功能时,用setTimeOut()代替setInterval(),因为setInterval()是有误差的!详情参考

 

参考资料:

【微信小程序】使用setTimeout制作定时器的思路

标签:turn   art   pre   replace   cti   www.   form   w3cschool   orm   

原文地址:http://www.cnblogs.com/guxin/p/weixin-miniapp-how-to-use-settimeout.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!