function setBtnTimeout(btn){
if(btn.hasClass("clicked")){
return;
}
btn.addClass("clicked");
setTimeout && clearInterval(setTimeout);
var num = 60;
btn.find("span").text(num-- + '秒后再获取');
var setTimeout = setInterval(function(){
if(num > 0){
btn.find("span").text(num-- + '秒后再获取');
}else {
btn.removeClass("clicked");
clearInterval(setTimeout);
btn.find("span").text('获取验证码');
}
}, 1000);
}
使用
<div class="code">
<label for="codeInput">
<span>验证码</span>
<input id="codeInput" type="text" placeholder="请输入验证码">
</label>
<button><span>获取验证码</span></button>
</div>
button{
font-family: PingFangSC-Light;
font-size: 15px;
color: #FF8F3B;
padding-top: 16/@unit;
padding-bottom: 16/@unit;
background: transparent;
position: absolute;
right: 0;
border: none;
span{
display: inline-block;
padding: 10/@unit 30/@unit;
border-left: 1px solid #FF8F3B;
}
&.clicked{
background: #DCDCDC;
span{
border: none;
color: #c8c7cc;
padding: 10/@unit 10/@unit;
}
}
}
$(".code").click(function(e){
var codeBtn = $(this).find("button");
setBtnTimeout(codeBtn);
});