首頁  >  文章  >  web前端  >  js定時器(執行一次、重複執行)_javascript技巧

js定時器(執行一次、重複執行)_javascript技巧

WBOY
WBOY原創
2016-05-16 16:56:291122瀏覽

1,只執行一次的定時器

複製程式碼 程式碼如下:


程式碼如下:




//定時器非同步運作
function hello(){
alert("hello");
}
//使用方法名稱執行方法
var t1 = window .setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//使用字串執行方法
window.clearTimeout(t1);//去掉定時器

複製代碼


程式碼如下:


<script> <BR>function hello(){ <BR>alert("hello"); <BR>} <BR>//重複執行某個方法<BR>var t1 = window.setInterval(hello,1000); </script>
var t2 = window.setInterval("hello()",3000);
//去掉定時器的方法
window. clearInterval(t1);




備註:

如果在一個頁面中有兩個方法,都是在頁面載入完成之後執行的,實際上卻未能按先後順序執行,可以參照如下方法解決:

可以在onload方法中添加一個定時器,設置一個定時器,“延遲”一段時間之後再運行,即可認為區分頁面加載運行方法的先後順序。

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

1.倒數計時器:timename=setTimeout("function();",delaytime);
2.循環計時器:timename=setInterval("function();",delaytime);

第一個參數「function()」是定時器觸發時要執行的動作,可以是一個函數,也可以是幾個函數,函數間用「;」隔開即可。例如要彈出兩個警告窗口,便可將“function();”換成

“alert('第一個警告窗口!');alert('第二個警告窗口!');”;而第二個參數“delaytime”則是間隔的時間,以毫秒為單位,即填寫“5000”,就表示5秒鐘。
  倒數計時器是在指定時間到達後觸發事件,而循環定時器就是在間隔時間到來時反覆觸發事件,兩者的區別在於:前者只是作用一次,而後者則不停地作用。

例如你打開一個頁面後,想間隔幾秒鐘自動跳到另一個頁面,則你就需要採用倒數計時器“setTimeout("function();",delaytime)” ,而如果想將某一句話設定成一個字的出現,

則需要用到循環定時器“setInterval("function();",delaytime)” 。

取得表單的焦點,則用到document.activeElement.id。利用if來判斷document.activeElement.id和表單的ID是否相同。

例如:if ("mid" == document.activeElement.id) {alert();},"mid"便是表單對應的ID。

定時器:


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

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物件

複製代碼


代碼如下:





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