简单验证码倒计时

使用的是vue框架 

template部分:

<div><input placeholder="手机号"/></div>
<div><input placeholder="验证码"/></div>
<button @click="getcode" :disabled='disabled'>{{text}}</button>
<div>登录</div>
<div>没有账号?  去注册</div>
<div>忘记密码</div>

script部分: 

data() {
		return {
			disabled: false, //按钮是否禁用
			tab: 0,
			totalCount: 0, //倒计时数值
			text:"获取验证码",
			timer: null   //计时器
		}
	}

进行的点击事件

methods: {
		getcode() {
			this.disabled = true; //点击后禁用按钮
			this.totalCount = 10; //设置倒计时数值
			this.timer = setInterval(() => {
				this.text = `已发送(${this.totalCount})`;
				this.totalCount -- ;
				if(this.totalCount < 0 ) {
					clearInterval(this.timer); //清空计时器
					this.text = "获取验证码";  
					this.disabled = false;  //开启按钮
				}
			}, 1000);
			console.log(this.disabled);
		}
	}

目前有个小bug,点击“获取验证码”之后不会立即显示已发送,停顿1s后才会执行,并且点击按钮后,按钮应该是禁用状态,但是手势一直存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值