• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

小程序中按钮验证码倒计时

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

wxml文件:

<view>
  <button type="primary" bindtap="countdown" disabled="{{isDisabled}}">{{title}}</button>
</view>
<view>
  <button type="primary" bindtap="countdown1" disabled="{{isDisabled}}">{{title}}</button>
</view>

js文件

  data: {
    title:"发送验证码", // 按钮中显示的字符
    titleConst:"发送验证码", // 重置后的按钮中显示的字符
    count:3,   // 倒计时的秒数
    countConst:3, // 重置后的倒计时的秒数
    isDisabled:false // 按钮是否禁用
  },  

  // setInterval中用箭头函数,保证this和外部一致
  countdown: function(){
    let count = this.data.count;
    // 当count不为0开始倒计时,当count为0就关闭倒计时
    // 设置定时器
    var countdown = setInterval(() => {
      if( count == 0 ){
        this.setData({
          title:this.data.titleConst,
          count: this.data.countConst,
          isDisabled:false
        });
        // 取消定时器
        clearInterval(countdown);
      } else {
        this.setData({
          title:count-- + "s后重试",
          isDisabled:true
        });
      }
    }, 1000);
  },
  // 用that保存this,防止在setInterval中this被替换
  countdown1: function(){
    let that = this;
    let count = this.data.count;
    // 当count不为0开始倒计时,当count为0就关闭倒计时
    // 设置定时器
    var countdown = setInterval(function(){
      if( count == 0 ){
        that.setData({
          title:that.data.titleConst,
          count: that.data.countConst,
          isDisabled:false
        });
        // 取消定时器
        clearInterval(countdown);
      } else {
        that.setData({
          title:count-- + "s后重试",
          isDisabled:true
        });
      }
    }, 1000);
  }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python3小程序-验证码验证发布时间:2022-07-18
下一篇:
新手指南:顶象验证码如何接入微信小程序?发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap