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

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

浏览量:3669 时间: 来源:weixin_34275734

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

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

var timer; // 计时器

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

  // 自定义的暂停按钮
 pauseBtn: function () {
   console.log("暂停按钮");
   clearTimeout(timer);
 },
});
// 倒计时function Countdown() {  timer = setTimeout(function () {    console.log("----Countdown----");    Countdown();  }, 1000);};

思路:

  • setTimeout()延迟指定毫秒数后执行指定函数,可通过递归调用setTimeout()来实现各种计时器功能。
  • 如果想做每秒钟刷新一次的时钟,只需每次执行时间转换函数并setData更新界面即可。
  • 使用clearTimeout("定时器的名字")可以停下指定的计时器。

下面是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()是有误差的!详情参考

 

参考资料:

  • https://www.w3cschool.cn/xiaochengxu/nsgq1u7h.html

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎