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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章