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