saber 酱的抱枕

Fly me to the moon

08/7
2015
学习

js做的获取验证码倒计时效果



今天想到了验证码倒计时的效果,于是做了一个出来。

发现定时器里面写函数名的话,如果带了括号,函数会瞬间执行多次。

代码如下:

<form action="">
	<input type="text">    <input type="button" id="getyzm" value="获取验证码">
</form>
<script>
	function yzmdjs (id,time) {
		var getyzm=document.getElementById(id);
    	var getyzmYuan=getyzm.value;
    	getyzm.setAttribute("disabled","disabled");
    	time=time;
    	getyzm.value=time+"秒后可重新获取验证码";
    	daojishiT=setTimeout(daojishi(),1000);
    	function daojishi () {
	    	//console.log(time);
    		time--;
    		getyzm.value=time+"秒后可重新获取验证码";
    		if (time==0) {
    			getyzm.value=getyzmYuan;
    			getyzm.removeAttribute("disabled");
    		}else{
    			daojishiT=setTimeout(daojishi,1000);
    		};
    	}	    	
	}
	document.getElementById("getyzm").onclick=function  (argument) {
		//添加发送验证码的操作
		yzmdjs(this.id,10);
	}
</script>

js做的获取验证码倒计时效果