zoukankan      html  css  js  c++  java
  • 【微信小程序】使用setTimeout制作定时器的思路

    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(/(d)/g, "0$1");
    }

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

    参考资料:

  • 相关阅读:
    2015-04-10一些知识点
    2015-04-07一些知识点
    斐波那契数列算法
    进制转换算法
    Java中transient有何作用?
    RandomAccessFile的使用
    Java各种类型占用的字节数
    LineNumberReader类的使用
    PreparedStatement和Statement的区别
    ResultSet几种类型的区别
  • 原文地址:https://www.cnblogs.com/guxin/p/weixin-miniapp-how-to-use-settimeout.html
Copyright © 2011-2022 走看看