Javascript: SetTimeout


阿瑟 發表



setTimeout()函式讓你可以每隔一段時間自動呼叫另一組函式, 最常見的就是做時鐘了.

STEP1:【前言】
Javascript有一個計算時間的函式SetTimeout,其實網路上很多Javascript特效如滑動視窗,都有用到SetTimeout。SetTimeout讓函式會在一定的時間內重新執行,藉此您可以讓使用者產生錯覺感覺物件好像在移動(實際上只是在很快的時間內每次位置移動一點點),SetTimeout對於Javascript特效可以說是不能少。

STEP2:【SetTimeout範例】
一段簡單的SetTimeout使用範例:
<script language=Javascript>
function hello()
{
alert("hello");
setTimeout("hello();", 2000);
}
</script>

<Body onload=hello();>


阿得針對以上的程式碼講解一下:
function hello(),這是Javascript函式的寫法,算是複習囉
alert(),如果您現在還不是很清楚這個是什麼,您應該去查一下先前的教學
SetTimeout("hello();",2000),這張就是王牌了,SetTimeout這個函式名稱大小寫有差,如果打錯了不管怎麼試都試不出來喔!!後面""中的hello()是函式名稱,請注意一定要有引號!!而逗點之後的數字代表在多少時間內執行此函式,單位為千分之一秒。整段程式碼的解釋就是兩秒鐘後會再執行一次hello()。
Body onload=hello();,這個是呼叫函式,因為SetTimeout是寫在hello()裡面,而hello()是一個函式,如果您一開始載入網頁沒有呼叫函式那函式就不會有作用。

了乎﹖其實不是很難,就是說您執行了hello(),而hello函式會跳出提示視窗說hello,再跳出視窗後又設定再兩秒後重新執行hello(),這樣一來不是每兩秒都會跳出一個說hello的提示視窗嗎﹖簡單吧!
不知道您有沒有看過那種狀態列跑馬燈,那種其實是用setTimeout,在很快的時間內在文字前面(或是後面)一次一次加上空白而將該段文字擠出狀態列,讓人感覺文字在移動(因為改變的速度太快了,好像慢慢在移動)。
STEP3:【結語】
這次就告一段落了,希望這次的教學帶給您一些幫助。SetTimeout可以設計出很多功能,如果設定的時間短的話可以做出滑動的效果或是跑馬燈,如果時間慢的話可以用來控制廣告的定時更換,不賴吧!

最後更新日期: 11/6/2001 5:19:47 PM