验证码倒计时、定时器编写

11 篇文章 7 订阅

在这里插入图片描述
我们在移动端项目经常会碰到定时器的应用,在验证码获取,进入某个页面需要倒计时,或者进入页面开始计时,秒杀活动等,至于定时器的应用我今天就用这个比较简单的应用场景记录下。
在这里插入图片描述
首先我定义的一个对象,里面设置了三个属性并给出初始值,当点击发送时disabled会被设为true值,当还没有经过规定时间点击按钮时会return返回,否则执行发送任务;

sendCode(){
				let that = this;
				let data={
					msgType:'set_passwd',
					moblie:that.phone
				}
				// 请求接口
				getCodeApi(data).then( res=> {
					console.log(res);
					setTimeout(function () {
					    that.$util.Tips({
					    	title: res.msg
					    });
					}, 1000);
					/**
					 * 倒计时
					 * 
					 */
					
					that.timer = setInterval(() => {
						if (that.identifyObj.count >= 1) {
							that.identifyObj.count--
							// identifyObj.identifyText = '重新获取(' + identifyObj.count + '秒)'
							that.identifyObj.identifyText = '重新获取'
							that.identifyObj.disabled = true
						} else {
							that.identifyObj.count = 59
							that.identifyObj.identifyText = '获取验证码'
							that.identifyObj.disabled = false
							clearInterval(that.timer)
						}
						
					}, 1000)
				}).catch({
					
				})
			},

在倒计时过程中我们可以看到当倒计时未完成的时候disabled会一直为true,此时按钮点击无法请求接口发送验证码,当倒计时完成时重新赋值倒计时时间,disabled赋值为false,clearInterval取消由 setInterval() 函数设定的定时执行操作,这样就完成了此需求的操作编写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值