javascript - 請問w3c里面這個js案例,我用window.onload來寫怎么點擊結束按鈕之后,再點擊開始,從0計數
問題描述
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <script> window.onload = function() { var a = 0; obtn1 = document.getElementById('btn1'); obtn2 = document.getElementById('btn2'); obtn1.onclick = function() {setTimeout(function rec() { document.getElementById('txt').value = a; a = a + 1; x = setTimeout(rec, 1000)}, 1000) } obtn2.onclick = function() {var b = 0;setTimeout(document.getElementById(’txt’).value=0, 0); clearTimeout(x);} } </script></head><body> <input type='text' name='text' /> <input type='button' value='開始計時!' /> <input type='button' value='結束計時!' /></body></html>
這是我自己學著寫的,請問哪里出問題了,點擊結束之后,是接著原來的數字計數的,我希望再點擊開始的時候,從0開始。
問題解答
回答1:obtn2.onclick = function() {a = 0; //需要重新重置開始數字document.getElementById(’txt’).value=0; clearTimeout(x);} }回答2:
點擊結束重加載一下頁面啊!
回答3:window.onload=function(){ var a = 0;
obtn1 = document.getElementById('btn1');obtn2 = document.getElementById('btn2');txt=document.getElementById(’txt’);obtn1.onclick=function(){txt.value=++a;}obtn2.onclick=function(){a=0;txt.value=a;}
}
回答4:把var a = 0;放到obtn1.onclick這個函數里聲明就好了
