為什么上節講的時候可以timer = setInterval(autoPlay(), 2000);這樣寫,而我這樣寫就只能執行一次,就是1秒后沒不執行了
<!doctype?html> <html?lang="en"> <head> ????<meta?charset="UTF-8"> ????<title>Document</title> ????<script?type="text/javascript"> ????????window.onload=function(){ ????????????var?send=document.getElementById('send'), ????????????second=document.getElementById('second'), ????????????????????times=5, ????????????????????timer=null; ????????????send.onclick?=?function?()?{ ????????????????//?計時開始 ?timer?=?setInterval(function?()?{ ????????????????????autoPlay(); ????????????????},?1000) ????????????} ????????????//自動播放 ?function?autoPlay(){ ????????????????if?(times?<=?0){ ????????????????????times?=?5; ????????????????????send.disabled=false; ????????????????????send.value?=?'發送驗證碼'; ????????????????????second.innerHTML=0; ????????????????????clearInterval(timer) ????????????????????return; ????????????????} ????????????????send.disabled=true; ????????????????send.value?=?'正在發送...'; ????????????????second.innerHTML=times; ????????????????times--; ????????????} ????????} ????</script> </head> <body> <input?type="button"?id="send"?value="發送驗證碼"><button?disabled><span?id="second">0</span>秒后重試</button> </body> </html>
為什么現在只能寫在function內了
2016-01-06