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

    参考资料:

  • 相关阅读:
    蓝奏云的链接打不开
    数据链路层
    markdown(md)
    物理层
    计算机网络概述
    86五笔学习笔记
    Ubuntu初次使用的问题
    Hello Word!
    快速创建Flask Restful API项目
    Ubuntu环境下部署Django+uwsgi+nginx总结
  • 原文地址:https://www.cnblogs.com/guxin/p/weixin-miniapp-how-to-use-settimeout.html
Copyright © 2011-2022 走看看