Heim > Fragen und Antworten > Hauptteil
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" />
<script type="text/javascript">
var countdown=60;
function settime(val) {
if (countdown == 0) {
val.removeAttribute("disabled");
val.value="免费获取验证码";
countdown = 60;
} else {
val.setAttribute("disabled", true);
val.value="重新发送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(val)
},1000)
}
</script>
Bitte fragen Sie nach der Verwendung dieses Codes: Wenn die Zeit abgelaufen ist, führt die Methode automatisch eine Schleife aus. Nach dem Löschen der setTimeout-Methode kann die Codefunktion jedoch nicht realisiert werden.
PHPz2017-05-19 10:35:06
添加一个return ;就可以了。我试了下。
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" />
<script type="text/javascript">
var countdown=60;
function settime(val) {
if (countdown == 0) {
val.removeAttribute("disabled");
val.value="免费获取验证码";
countdown = 60;
return ; // 结束循环
} else {
val.setAttribute("disabled", true);
val.value="重新发送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(val)
},1000)
}
</script>