JavaScript定時器詳解

在javascritp中,有兩個關於定時器的專用函數,它們是: 

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

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

  function()是定時器觸發時要執行的是事件的函數,可以是一個函數,也可以是幾個函數,或者javascript的語句也可以,單要用;隔開;delaytime則是間隔的時間,以毫秒為單位。 

  倒計時定時器就是在指定時間後觸發事件,而循環定時器就是在間隔時間到來時反復觸發事件,其區別在於:前者隻是作用一次,而後者則不停地作用。 

  倒計時定時器一般用於頁面上隻需要觸發一次的的情況,比如點擊某按鈕後頁面在一定時間後跳轉到相應的站點,也可以用於判斷一個瀏覽者是不是你的站點上的“老客”,如果不是,你就可以在5秒或者10秒後跳轉到相應的站點,然後告訴他以後再來可以在某個地方按某一個按鈕就可以快速進入。 

  循環定時器一般用於站點上需要從復執行的效果,比如一個javascript的滾動條或者狀態欄,也可以用於將頁面的背景用飛雪的圖片來表示。這些事件需要隔一段時間運行一次。 

  有時候我們也想去掉一些加上的定時器,此時可以用clearTimeout(timename) 來關閉倒計時定時器,而用clearInterval(timename)來關閉循環定時器。 

例1:
<SCRIPT LANGUAGE="JavaScript">
setTimeout("confirm('123456')",1000);
</SCRIPT>

<script language="JavaScript" type="text/javascript">

function count() {
    setTimeout("alert('三秒到瞭')",3000)
}

</Script>

<INPUT TYPE="button" VALUE=" 計時開始" onClick="count()">

例2:
<Script><script language="JavaScript" type="text/javascript">

var sec = 0;
timerID = setInterval("count()",1000);

function count() {
    num.innerHTML = sec++;
}

</Script>

停留時間:
<FONT ID="num" FACE="impact">0</FONT>秒鐘
<INPUT TYPE="button" VALUE="停止" onClick="clearInterval(timerID)">

例3:
<script language="JavaScript" type="text/javascript">

var str = "這是一個在線拍賣的網站,請盡情血拼吧!";
var seq = 0;

function scroll() {
    msg = str.substring(0, seq+1);
    banner.innerHTML = msg;
    seq++;
    if (seq >= str.length) seq = 0;
}

</Script>

<Body onLoad="setInterval('scroll()',500)">
<FONT ID="banner"></FONT>
</Body>

發佈留言