在javascritp中,有兩個(gè)關(guān)于定時(shí)器的專(zhuān)用函數,它們是:
1.倒計定時(shí)器:timename=setTimeout("function();",delaytime);
2.循環(huán)定時(shí)器:timename=setInterval("function();",delaytime);
function()是定時(shí)器觸發(fā)時(shí)要執行的是事件的函數,可以是一個(gè)函數,也可以是幾個(gè)函數,或者javascript的語(yǔ)句也可以,單要用;隔開(kāi);delaytime則是間隔的時(shí)間,以毫秒為單位。
倒計時(shí)定時(shí)器就是在指定時(shí)間后觸發(fā)事件,而循環(huán)定時(shí)器就是在間隔時(shí)間到來(lái)時(shí)反復觸發(fā)事件,其區別在于:前者只是作用一次,而后者則不停地作用。
倒計時(shí)定時(shí)器一般用于頁(yè)面上只需要觸發(fā)一次的的情況,比如點(diǎn)擊某按鈕后頁(yè)面在一定時(shí)間后跳轉到相應的站點(diǎn),也可以用于判斷一個(gè)瀏覽者是不是你的站點(diǎn)上的“老客”,如果不是,你就可以在5秒或者10秒后跳轉到相應的站點(diǎn),然后告訴他以后再來(lái)可以在某個(gè)地方按某一個(gè)按鈕就可以快速進(jìn)入。
循環(huán)定時(shí)器一般用于站點(diǎn)上需要從復執行的效果,比如一個(gè)javascript的滾動(dòng)條或者狀態(tài)欄,也可以用于將頁(yè)面的背景用飛雪的圖片來(lái)表示。這些事件需要隔一段時(shí)間運行一次。
有時(shí)候我們也想去掉一些加上的定時(shí)器,此時(shí)可以用clearTimeout(timename) 來(lái)關(guān)閉倒計時(shí)定時(shí)器,而用clearInterval(timename)來(lái)關(guān)閉循環(huán)定時(shí)器。
例1:
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<SCRIPT LANGUAGE="JavaScript">
setTimeout("confirm('確實(shí)在測試定時(shí)功能?')",1000);
function count() {
setTimeout("alert('三秒到了')",3000)
}
</Script>
<body>
<INPUT TYPE="button" VALUE=" 計時(shí)開(kāi)始" onClick="count()">
</body>
</html>
例2:
<Script><script language="JavaScript" type="text/javascript">
var sec = 0;
timerID = setInterval("count()",1000);
function count() {
num.innerHTML = sec++;
}
</Script>
停留時(shí)間:
<FONT ID="num" FACE="impact">0</FONT>秒鐘
<INPUT TYPE="button" VALUE="停止" onClick="clearInterval(timerID)">
例3:
<script language="JavaScript" type="text/javascript">
var str = "這是一個(gè)在線(xiàn)拍賣(mài)的網(wǎng)站,請盡情血拼吧!";
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>
聯(lián)系客服