点击按钮后六十秒后才能再次点击
我们平常写获取验证码的时候都需要用到,点击之后多少秒后才能再次点击的需求,在此分享我的做法,这个肯定不是最好的解决方案,望大家不吝赐教
本例子应用了 jquery 和 layui
<!-- html部分 -->
<div id="ver" class="layui-form-mid layui-word-aux ver">
获取验证码
</div>
<script>
function captcha(e){
clickTime(e);
var href="{:U('Login/setCode')}";
var tel=$('input[name="member_list_tel"]').val();
//ajax获取数据
$.ajax({
url: href,
context: document.body,
data:{tel:tel},
success: function(data){
if(data.status){
alert(data.info);
}else{
alert(data.info);
}
}
});
}
var wait=60;
function clickTime(e) {
var e=$(e);
if (wait == 0) {
e.onClick=captcha();
e.html("获取验证码");
e.removeClass(' layui-btn-disabled');
wait = 60;
} else {
e.unbind();
e.html("重新发送(" + wait + ")");
e.addClass(' layui-btn-disabled');
wait--;
setTimeout(function() {
clickTime(e)
},
1000)
}
}
$('#ver').click(function(){
captcha(this);
});
</script>