JS 定時器 setInterval() 和 setTimeout() 以及自己踩過的坑

js 定時器有以下兩個方法:

  • setInterval() :按照指定的週期(以毫秒計)來調用函數或計算表達式。方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。
  • setTimeout() :在指定的毫秒數後調用函數或計算表達式。

setInterval()

語法

setInterval(code,millisec,lang)
參數 描述
code 必需。要調用的函數或要執行的代碼串。
millisec 必須。週期性執行或調用 code 之間的時間間隔,以毫秒計。
lang 可選。 JScript | VBScript | JavaScript

以下實例在每 1000 毫秒執行 clock() 函數。實例中也包含了停止執行的按鈕:

setTimeout()

語法

setTimeout(code,millisec,lang)
參數 描述
code 必需。要調用的函數後要執行的 JavaScript 代碼串。
millisec 必需。在執行代碼前需等待的毫秒數。
lang 可選。腳本語言可以是:JScript | VBScript | JavaScript

 

 

如果想要在一個函數中啓用定時器  又想在另一個函數關閉這個函數 可以這樣做:

var timer1 = null;

function start(){
if ( timer1 )
return;
timer1 = setInterval("test()",200);
}
function end(){
if ( timer1 )
{
clearInterval(timer1);
timer1 = null;
}
}

注意事項: 這裏的 timer1 相當於setInterval 的 id 執行clearInterval(timer1)方法時 就是傳入定時器 ID  進行停止的

=================踩過的坑=============

當你想要在zh執行函數裏面放入參數時   最好使用以下方法 : 否則定時器不會執行. 只會執行裏面的函數方法  代碼如下:

===要執行的函數===

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章