首頁  >  文章  >  web前端  >  JavaScript定時器和優化的取消計時器方法_javascript技巧

JavaScript定時器和優化的取消計時器方法_javascript技巧

WBOY
WBOY原創
2016-05-16 15:51:361393瀏覽

通常用的方法:
啟動定時器:

複製程式碼 程式碼如下:

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會產生回調堆積,特別是時間很短的時候。 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn