文章出處

javascript中的定時器有兩種:一種是一次性定時器,一種是可以持續使用的定時器;



1:一次性定時器setTimeout(a,b);兼容ie的任何版本

該方法接受兩個參數,第一個是要執行的代碼,第二個是將要執行的時間單位是毫秒。同時該方法返回一個唯一的定時器id方便我們調用和刪除該定時器。該方法是BOM的window對象的方法所以我們用的時候可以把對象省略,也就是說setTimeout('alert("aaaa")',10000);和window.setTimeout('alert("aaaa")',10000);是等效的,后面幾個方法也是同理。

example:

setTimeout('alert("aaaa")',10000);

這里的函數還可以(下面setInterval(a,b) 也同理)

setTimeout('myfun()',10000);調用一個函數

setTimeout(function(){.....},10000);作為回調函數使用


1.1那么怎么刪除一次性定時器呢?利用setTimeout()返回的定時器id.

clearTimeout(timer); 定時執行之前先關閉定時器,清除還沒執行的的定時器

var timer=setTimeout('alert("aaaa")',100);


2: 持續使用的定時器setInterval(a,b)  我測試的是兼容IE5+

該方法和一次性定時器setTimeout(a,b);相同,只是第二個參數不是一次性時間而是每次間隔的時間

setInterval('alert("aaaa")',100);


2.1刪除持續使用的定時器,也是要利用setInterval()返回的定時器id.

var timer=setInterval('alert("aaaa")',100);
clearInterval(timer);

example:

<script type="text/javascript">
window.onload=function(){ //頁面內容加載完畢執行匿名函數
var div=document.getElementById("div1"); //獲取div
time();  //執行time()函數
div.onclick=function(){ //當div被點擊的時候執行匿名函數里面的 claerfun()函數
claerfun();
}
}
var timer; //新建一個變量用來后面裝定時器返回的id
  function time(){ //新建一個名為time函數
  timer=setInterval(fun,1000); //創建定時器每隔1000毫秒(1s)就調用fun函數一次,并把定時器id賦值給建好的變量timer。
  }
  function fun(){ 
  alert("hi");
  }
  function  claerfun(){ //新建一個名為claerfun函數
  clearInterval(timer);//刪除定時器
  }
</script>




















文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()