clearInterval()取消setInterval()执行

发送短信验证码是一个非常常见的功能,

现在的需求是:

用户点击“获取验证码”的时候,请求后端接口,发送短信验证码,

按钮置灰不可点,变成“重发(xx s)”, 40s后,出现“发送语音验证码”按钮,

60s后,“重发”按钮再变成“获取验证码”


肯定是要用 setInterval() 了,但是这里边就涉及到使用 clearInterval() 清除周期性执行,

见示例:


<a class="c-right-btn btn-send-captcha">获取验证码</a>
	            	<a class="c-right-btn btn-send-captcha-disable" style="display:none;"></a>


window._timer = 60;
		var _send = setInterval(function(){
			console.log(_timer);
			if(_timer > 0){
				$(".btn-send-captcha").hide();
				$(".btn-send-captcha-disable").show().text("重发(" + _timer + "s)");
				_timer --;
			}
			if(_timer == 40){
				$(".btn-send-voice").show();
			}
			if(_timer <= 0){
				$(".btn-send-captcha-disable").text("").hide();
				$(".btn-send-captcha").show();
				window.clearInterval(_send);
				_timer = 60;
				return false;
			}
		}, 1000);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值