[js实现获取验证码倒计时]js实现获取验证码时60s后再次发送

更新时间:2020-03-31    来源:php函数    手机版     字体:

【www.bbyears.com--php函数】

我们在做注册或登陆的页面时经常有获取验证码的功能,在获取验证码时我们经常要做个60s禁止点击的功能,下面是我做项目时经常用到的代码:

例子

获取验证的按钮:

 代码如下

;

获取验证码的Ajax函数:

$(".get").on("click",function(){
var btn=$(this);
var phone = $(".phone").val();
var data = {phone: phone, type: 1};
 
if(!phone || !eval("/"+regexEnum.mobile+"/").test(phone)
|| phone.length < 11){
alert("手机号格式不正确!");
return;
}
// ajax 获取验证码
ajaxPOSTRequest(kBaseUserUrl + "getPhoneSalt", data, handleCaptcha);
function handleCaptcha(result) {
ZMAlert(result.message["content"]);
if(result.errorCode == 0){
settime(btn);
}
}
});

倒计时60s的函数:

 代码如下 var countdown=60;
function settime(val) {
if (countdown == 0) {
val.attr("disabled", false);
val.val("重新发送");
val.css({
"background":"#fe8836"
});
countdown = 60;
return false;
} else {
val.attr("disabled", true);
val.val("正在获取"+countdown);
val.css({
"background":"#ccc"
});
countdown--;
}
setTimeout(function() {
settime(val)
},1000)
}

 

例子1

 代码如下

javascriptvar getCode = document.getElementById("getCode");
var wait = 60;
function time(btn){
    if (wait===0) {
        btn.removeAttribute("disabled");
        btn.innerHTML = "获取验证码";
        wait = 60;
    }else{
        btn.setAttribute("disabled",true);
        btn.innerHTML = wait + "秒后重试";
        wait--;
        setTimeout(function(){
            time(btn);
        },1000);
    }
}
getCode.onclick = function(){
    time(this);
};

本文来源:http://www.bbyears.com/jiaocheng/91045.html