短信验证码倒计时

       此功能要实现点击“获取验证码”按钮后,开始进行倒计时,一分钟后才能重新发送,除了让按钮样式发生变化外,还要保证,在点击后再重复点击时不能让后台接收到点击事件,也就是说让点击按钮失效。

      下面为具体的代码实现过程,(此代码中使用了AUI框架,只影响样式,不会对功能造成影响。此处提供AUI官网地址:http://www.auicss.com/

       HTML代码:

<li class="aui-list-item">
    <div class="aui-list-item-inner">
	<div class="aui-list-item-label">
	   验证码
	</div>
	<div class="aui-list-item-input">
	   <input type="text" name="phonenumber" id="code" placeholder="请输入验证码" onblur="judgeTel()">
	   <p>
              <button type="button" class="aui-btn aui-btn-primary" id="getCode" onclick="time()">获取验证码</button>
           </p>
	</div>
   </div>
</li>

CSS代码:

#code{
    float: left;
    width: 55%;
}
#getCode{
    float: right;
    border: 0;
    margin-top: 5px;
    margin-right: 5px;
}

JS代码:

var btnDisable = false;//定义全局变量
function time(){false为false时才执行下面的函数
    if(btnDisable){
	return;
    }			
   timeWait(60);
   btnDisable = true;
}//此函数保证在倒计时时,点击按钮不会重新进行倒计时。

function timeWait(time){
    setTimeout(function(){
	if(time>=0){
	    $("#getCode").attr("disabled","disabled");//按钮禁用
	    $("#getCode").removeClass("aui-btn-primary");//改变按钮的样式
	    $("#getCode").text(time+"s后重试");//改变按钮上的文本
	    time--;
	    timeWait(time);
	}
	 else{
	    $("#getCode").text("获取验证码");//改变按钮上的文本
	    $("#getCode").attr("disabled","false"); //按钮启用
	    $("#getCode").addClass("aui-btn-primary");//改变按钮的样式
	    btnDisable = false;
	 }
    },1000);//每隔一分钟执行一次此函数
}

效果示意图:::

123

 

 

456

 

 本人为JS实习生一枚,入坑前端。不断学习,不断进步。欢迎各位前辈批评指教。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值