收藏
回答

小程序计时功能点击结束时为什么出现that is not define报错?请问是什么原因呢?

wxml:

<view class='tip'>计时器{{h}}:{{m}}:{{s}}</view>

 <button class='but bg-blue on'   bindtap="taskStart">任务开始</button>

 <button class='but bg-blue on' bindtap="taskEnd">任务结束</button>


js:


Page({

  data:{

    h:'00',

    m:'00',

    s:'00',

 //存储计时器

  setInter:'',

  num:1,

},   

/**

   * 生命周期函数--监听页面加载

   */

  onLoad: function (options) {

  // this.queryTime()

  },

// 计时器

queryTime(){

 const that=this;

 var hou=that.data.h

 var min=that.data.m

 var sec=that.data.s


 that.data.setInter  = setInterval(function(){

     sec++

     if(sec>=60){

      sec=0

      min++

      if(min>=60){

        min=0

        hou++

        that.setData({

          h:(hou<10?'0'+min:min)

        })

      }else{

        that.setData({

          m:(min<10?'0'+min:min)

        })

      }

     }else{

       that.setData({

         s:(sec<10?'0'+sec:sec)

       })

     }  

       var numVal = that.data.num + 1;

       that.setData({ num: numVal });

       console.log('setInterval==' + that.data.num);

   },1000)

},

 taskStart(){

   this.queryTime()

 },

 taskEnd(){

   //清除计时器  即清除setInter

   clearInterval(that.data.setInter)

 },

 onUnload: function () {

   var that =this;

   //清除计时器  即清除setInter

   clearInterval(that.data.setInter)

},

})




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

1 个回答

  • xxxidream
    xxxidream
    2022-02-23

    that没定义

    2022-02-23
    有用 1
    回复 3
    • KRYSTAL
      KRYSTAL
      发表于移动端
      2022-02-23
      可以了,谢谢 。还有一个问题就是结束后并没有清零,下一次开始是接着往下计时是什么原因呢?
      2022-02-23
      回复
    • xxxidream
      xxxidream
      2022-02-23回复KRYSTAL
      你的代码里并没有把num这些值还原,clearInterval只是停止定时操作
      2022-02-23
      回复
    • KRYSTAL
      KRYSTAL
      发表于移动端
      2022-02-23回复xxxidream
      万分感谢🤗
      2022-02-23
      回复
登录 后发表内容