收藏
回答

setInterval定时器如何重置?

设置一个20秒的定时器,,我如何让这个定时器在执行的过程中从0开始?

回答关注问题邀请回答
收藏

6 个回答

  • 风清雾云开见日出
    风清雾云开见日出
    2021-07-22

    设置一个全局变量,每次重新开始为哦,到20,重新赋值为0

    2021-07-22
    有用 1
    回复
  • LeeaYoung
    LeeaYoung
    2021-07-22

    https://developers.weixin.qq.com/miniprogram/dev/reference/api/clearInterval.html


    将计时器赋值给 data 中的变量,这样在任何方法中都可以清除计时器

    Page({
      data: {
          //存储计时器
        setInter:'',
        num:1,
      },
      onLoadfunction () {
          var that = this;
           
      },
      startSetInterfunction(){
          var that = this;
          //将计时器赋值给setInter
          that.data.setInter = setInterval(
              function () {
                  var numVal = that.data.num + 1;
                  that.setData({ num: numVal });
                  console.log('setInterval==' + that.data.num);
              }
        , 2000);   
      },
      endSetInterfunction(){
          var that = this;
          //清除计时器  即清除setInter
          clearInterval(that.data.setInter)
      },
      onHidefunction () {
     
      },
      onUnloadfunction () {
          var that =this;
          //清除计时器  即清除setInter
          clearInterval(that.data.setInter)
      },
     
    })
    


    2021-07-22
    有用 1
    回复
  • 格丽斯13544446505
    格丽斯13544446505
    发表于移动端
    2021-07-22
    reject
    2021-07-22
    有用 1
    回复
  • 微盟
    微盟
    2021-07-22

    定义变量保存定时器 ,如timer,mag==true 时clearInterval(timer)清除上一个定时器,然后重新设置一个定时器


    2021-07-22
    有用
    回复 2
    • 阿星
      阿星
      2021-07-22
      有没有不清楚上个定时器的做法?
      2021-07-22
      回复
    • 微盟
      微盟
      2021-07-23回复阿星
      你都要重新计时了,你上个定时器不清除是要怎样啊
      2021-07-23
      回复
  • dreamhunter
    dreamhunter
    2021-07-22

    mag=true时

    clearInterval(that.data.setInter),setInterval


    2021-07-22
    有用
    回复
  • 阿星
    阿星
    2021-07-22

    可能描述不全面哈,是这样的,有一个定时器,周期为每20秒执行一次。执行多少次没限制。唯一条件是在let mag=true时,定时器重新从0开始,也就是说本次时间应该是,从let mag=true时到定时器执行时间为20秒,而不是小于20秒。

    2021-07-22
    有用
    回复
登录 后发表内容