微信小程序按钮超时禁用

以微信小程序为例,其他原理相同

效果图

在这里插入图片描述
在这里插入图片描述

wxml

<button bindtap="getBangDing" disabled="{{buttonShow}}" type="primary">绑定用户({{buttonTime}})</button>

js

js data

buttonShow:'false',
buttonTime: '180',          // 按钮失效倒计时
 // 180秒后禁用绑定按钮
        var inter = setInterval(function () {
          this.setData({
            buttonShow:false,
            buttonTime: this.data.buttonTime - 1
          });
          if (this.data.buttonTime < 0) {
            clearInterval(inter)
            this.setData({
              buttonShow:true,
              buttonTime: 0,
            });
          }
        }.bind(this), 1000);

设定一个定时器,一秒执行一次,小于0时关闭定时器,动态设置按钮“disabled”属性。
和获取验证码,点击置灰 到时恢复原理一样


微信小程序中的倒计时禁用按钮通常是指在进行某个操作时,比如提交表单、进行下单等,为了防止用户在倒计时期间重复点击按钮造成系统错误或者重复操作,需要在按钮上添加一个倒计时功能,在倒计时结束前禁用按钮。 实现微信小程序倒计时禁用按钮的基本步骤如下: 1. 在页面的`data`对象中定义按钮禁用的状态和倒计时的时间。 2. 创建一个倒计时的方法,该方法会在按钮点击时被触发。 3. 在倒计时方法中,更新按钮的状态为禁用,并开始倒计时。 4. 使用`setInterval`设置一个定时器,每过一定时间间隔,就对倒计时时间进行减一操作。 5. 当倒计时时间结束时,使用`clearInterval`停止定时器,并将按钮状态设置为可用。 6. 在页面的`onLoad`、`onReady`等生命周期方法中,可以设置定时器,当用户离开页面时清除定时器。 示例代码片段: ```javascript // 页面的data部分 data: { countdown: 60, // 倒计时时间,单位为秒 disabled: false // 按钮是否禁用 }, // 点击按钮触发倒计时 onCountdownBtnTap: function() { this.setData({ disabled: true, countdown: 60 // 重新设置倒计时时间 }); this.countdownId = setInterval(() => { this.setData({ countdown: this.data.countdown - 1 }); if (this.data.countdown <= 0) { clearInterval(this.countdownId); this.setData({ countdown: 0, disabled: false }); } }, 1000); } ``` 在上述示例中,用户点击按钮后,按钮将被禁用,并开始60秒的倒计时。每过1秒,倒计时时间减1,直到倒计时结束,按钮重新启用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值