2012-11-23 58 views
1

我有一點fiddle在這裏我開始/停止/重置JavaScript計時器。開始,停止和刷新計時器javascript

該功能需要定時器在頁面上運行。定時器啓動後,它會發送一條消息,然後重新啓動。停止按鈕將完全停止定時器。

上面的小提琴有我剛剛描述的功能,但我覺得我沒有正確地做到這一點。是setTimeout創建此計時器的正確方法?我應該用setInterval代替嗎?

其次,我復位代碼如下所示:

var onReset = function() { 
     clearTimeout(timerHandle); 
     onStart();  
}; 

有重置在javascript定時器更優雅的方式?

謝謝。

+1

你打電話的方式'的setInterval()'遞歸地工作,但你也可以使用'的setInterval()'幾乎相同的方式。 http://jsfiddle.net/4BF2p/1/ –

+1

你的重置功能也很好。這正是處理這個問題的正確方法, –

回答

1

我可以提供的唯一改進是你把它全部放在一個封裝對象中,詢問你是否想要一個例子。或者如果你想保持你已經有的結構,那麼改變你的onStart函數來去掉一些不需要的代碼。

var onStart = function() { 

    timerHandle = setInterval(function() { 
     $("#console").append("timer fired.. <br />"); 
    }, 2000); 

}; 

小提琴這裏http://jsfiddle.net/qx6CM/