通常用的方法: 啟動定時器: 複製程式碼 程式碼如下: window.setInterval(Method,Time) Method是定時呼叫的js方法 Time是間隔時間,單位是毫秒 取消定時器: 複製程式碼 程式碼如下: clearInterval(Method); 那麼問題來了。用 clearInterval(timerid);來清除,往往不能馬上停止,用什麼方法比較好解決? 最佳化方案如下 複製程式碼 程式碼如下: var timeout = false; //啟動及關閉按鈕 function time() { if(timeout) return; Method(); setTimeout(time,100); //time是指本身,延時遞歸呼叫自己,100為間隔呼叫時間,單位毫秒 } 總結 一般不用setInterval,而用setTimeout的延遲遞迴來取代interval。 setInterval會產生回調堆積,特別是時間很短的時候。