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>
文章列表