目录

微信小程序倒计时功能

微信小程序倒计时功能

  • 直接看看代码吧
//倒计时60秒
function countDown(that,count) {
  if (count == 0) {
    that.setData({
      timeCountDownTop: '获取验证码',
      counting:false
    })
    return;
  }

that.setData({
counting:true,
timeCountDownTop: count + '秒后重新获取',
})

setTimeout(function(){
count--;
countDown(that, count);
}, 1000);
}
  • 在需要倒计时的地方调用
Page({
data:{
counting:false
},

    //生成验证码
    generateVerifyCode:function() {
        var that = this;
        if (!that.data.counting) {
          wx.showToast({
            title: '验证码已发送',
          })

          //开始倒计时60秒
          countDown(that, 60);
        }
    },

})
  • 首先倒计时的方法是写在 Page 的外面,这个别搞错了
  • 实现倒计时关键的地方在于 setTimeout 方法,也即下面这段代码。setTimeout 方法可以设置在指定的时间间隔执行某个函数。应用的格式是 setTimeout(function(),time),function 就是对应要执行的方法,time 就是时间间隔,这里的 1000 表示 1000 毫秒,也就是间隔 1 秒执行一次 countDown 方法。
setTimeout(function(){
count--;
countDown(that, count);
}, 1000);
  • countDown 方法中利用 count 字段来设置倒计时的时间,比如这里是 60 秒
  • countDown 方法中把 that 也传递进去是为了在倒计时状态改变时利用 setData 方法更新页面
  • countDown 方法中利用 counting 字段来判断是否已经在倒计时了,避免重复开始倒计时
  • 倒计时结束是通过 count 来判断,通过 return 直接退出

欢迎关注我的公众号,和我一起每天进步一点点!

https://i-blog.csdnimg.cn/blog_migrate/e09dd5a089f31710126d61972c3122f1.jpeg