小程序interval设置验证码

基本逻辑是设置一个数值,触发点击事件后禁用点击事件,60秒之内,每一秒执行一次函数(采用interval来处理),60秒后,还原;
缺点:页面刷新函数重置;
wxml:

<button class='Code' style='background:{{background}}' disabled='{{disabled}}' data-id="2" bindtap="getBtn">{{time}}</button>

js:

data: {

    time:'获取验证码',
    currentTime:'60',
    background:'#00a8fe',
    disabled:false,

  },
/*-----验证码的js-----*/
  getBtn: function (options) {
    var that = this;
    var currentTime = that.data.currentTime;
    that.setData({
      time: currentTime + '秒',
      background:'#f2f2f2',
      disabled:true,
    })

/*setInterval(表达式,时间):页面载入后,每经过指定毫秒值后执行指定表达式,是间隔多次执行的
setTimeout(表达式,时间):页面载入后,经过指定毫秒值后执行指定表达式,只执行一次*/
    var interval = setInterval(function () {
      that.setData({
        time: (currentTime - 1) +
          '秒'
      })
      currentTime--;
      if (currentTime <=
        0) {
        clearInterval(interval)
        that.setData({
          time: '获取验证码',
          currentTime: 60,
          background: '#00a8fe',
          disabled:false,
        })
      }
    }, 1000)
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值