我在按鈕點擊定時器時遇到問題。當我點擊按鈕startpause()方法被稱爲那裏我設置啓動計時器和停止計時器。當我正常點擊按鈕(一次點擊後點擊一次),但是當我一再點擊按鈕時,它會很好地工作,計時器開始跳2-3秒。似乎不止一個計時器正在運行..任何人都有任何想法.... ??這裏是我的計時器方法定時器不停止按鈕點擊
function startpause() {
if(FLAG_CLICK) {
setTimeout(tim,1000);
FLAG_CLICK = false;
}
else {
clearTimeout(ti);
FLAG_CLICK = true;
}
}
function tim() {
time.innerHTML = t;
t = t + 1;
ti= setTimeout("tim()", 1000);
}
yuhooo概念的工作。你提供的代碼不起作用。它僅適用於每次啓動點擊計時器。但我添加到ti = setTimeout('tim()',1000);在工作tim()方法..非常感謝你的想法:-) – suja 2013-03-08 07:06:22
對不起,我正在修補它。但有一點是,我建議不要將字符串'tim()'傳遞給'setTimeout()',因爲它會強制函數調用'eval()'函數來解釋該字符串並將其作爲JavaScript執行。如你所知或可能不知道,** eval是EVIL!**(http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea) – sweetamylase 2013-03-08 07:10:48