08/7
2015
今天想到了验证码倒计时的效果,于是做了一个出来。
发现定时器里面写函数名的话,如果带了括号,函数会瞬间执行多次。
代码如下:
<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>