js定時器整理(執行一次、重複執行)

在javascritp中,有兩個關於定時器的專用函數,分別爲:java

1.倒計定時器:timename=setTimeout("function();",delaytime);express

2.循環定時器:timename=setInterval("function();",delaytime);異步

第一個參數「function()」是定時器觸發時要執行的動做,能夠是一個函數,也能夠是幾個函數,函數間用「;」隔開便可。函數

好比要彈出兩個警告窗口,即可將「function();」換成 「alert('第一個警告窗口!');alert('第二個警告窗口!');」;spa

而第二個參數「delaytime」則是間隔的時間,以毫秒爲單位,即填寫「5000」,就表示5秒鐘。   code

倒計時定時器是在指定時間到達後觸發事件,而循環定時器就是在間隔時間到來時反覆觸發事件,對象

二者的區別在於:前者只是做用一次,然後者則不停地做用。blog

好比你打開一個頁面後,想間隔幾秒自動跳轉到另外一個頁面,則你就須要採用倒計定時器「setTimeout("function();",delaytime)」 ,而若是想將某一句話設置成一個一個字的出現, 則須要用到循環定時器「setInterval("function();",delaytime)」 。獲取表單的焦點,則用到document.activeElement.id。利用if來判斷document.activeElement.id和表單的ID是否相同。 好比:if ("mid" == document.activeElement.id) {alert();},"mid"即是表單對應的ID。事件

定時器:ip

用以指定在一段特定的時間後執行某段程序。

JS中定時執行,setTimeout和setInterval的區別,以及l解除方法

setTimeout(Expression,DelayTime),在DelayTime事後,將執行一次Expression,setTimeout 運用在延遲一段時間,再進行某項操做。 setTimeout("function",time) 設置一個超時對象

setInterval(expression,delayTime),每一個DelayTime,都將執行Expression.經常可用於刷新表達式. setInterval("function",time) 設置一個超時對象

SetInterval爲自動重複,setTimeout不會重複。

clearTimeout(對象) 清除已設置的setTimeout對象 clearInterval(對象) 清除已設置的setInterval對象

 

下面是兩種函數的格式:

  1. <script> 
    //定時器 異步運行 
    function hello(){ 
    alert("hello"); 
    } 
    //使用方法名字執行方法 
    var t1 = window.setTimeout(hello,1000); 
    var t2 = window.setTimeout("hello()",3000);//使用字符串執行方法 
    window.clearTimeout(t1);//去掉定時器 
    </script> 

     

  2. <script> 
    function hello(){ 
    alert("hello"); 
    } 
    //重複執行某個方法 
    var t1 = window.setInterval(hello,1000); 
    var t2 = window.setInterval("hello()",3000); 
    //去掉定時器的方法 
    window.clearInterval(t1); 
    </script> 
相關文章
相關標籤/搜索