語法
setInterval() 方法可按照指定的周期(以毫秒計)來調用函式或計算表達式。
提示:1000 毫秒= 1 秒。
setInterval(code,millisec[,"lang"])
參數 | 描述 |
code | 必需。要調用的函式或要執行的代碼串。 |
millisec | 必需。周期性執行或調用 code 之間的時間間隔,以毫秒計。 |
lang | |
瀏覽器支持
所有主要瀏覽器都支持 setInterval() 方法。
返回值
返回的值setInterval函式的ID標識,每次調用setInterval函式都會產生一個唯一的ID,可以傳遞給 Window.clearInterval() 從而取消對 code 的周期性執行。
實例
<!DOCTYPE html>
<html>
<body>
<form>
<input type="text" id="clock" size="35" />
<script>
var int=self.setInterval("clock()",50)
function clock(){var t=new Date()
document.getElementById("clock").value=t
}
</script>
</form>
<div id="clock"></div>
<button onclick="int=window.clearInterval(int)">Stop interval</button>
</body>
</html>
flash用法
setInterval動作的作用是在播放動畫的時,每隔一定時間就調用函式,方法或對象。可以使用本動作更新來自資料庫的變數或更新時間顯示。setInterval動作的語法格式如下:
setInterval(function,interval[,arg1,arg2,......argn])
setInterval(object,methodName,interval[,arg1,arg2,.....argn])
第一種格式是標準動作面板中setInterval函式的默認語法,第二種格式是在專家模式動作中使用的方法。其中的參數function是一個函式名或者一個對
匿名函式的引用。object參數指定從Object對象派生的對象。methodName制定object參數中要調用的方法。interval制定對function或methodName調用兩次之間的時間,單位是毫秒。後面的arg1等是可選的參數,用於制定傳遞給function或是methodName的參數。
setInterval它設定的時間間隔小於動畫幀速(如每秒10幀,相當於100毫秒),則按照儘可能接近interval的時間間隔調用函式。而且必須使用updateAfterEvent動作來確保以足夠的頻率刷新螢幕。如果interval大於動畫幀速,則只用在每次播放頭進入某一幀是才調用,以減小每次刷新螢幕的影響。
setInterval(function(){trace("每隔1秒鐘我就會顯示一次")},1000);//這裡的function(){}是沒有函式名的函式。成為匿名函式,後面的1000是時間間隔,單位是毫秒。
下面的例子為我們展示如何帶參數運行。
function show1(){ trace("每隔1秒我就會顯示一次");}
function show2(str){ trace(str);}
setInterval(show1,1000);
setInterval(show2,2000,"每隔2秒我就會顯示一次");上
面已經將函式的setInterval方法介紹了。下面我們將介紹對象的setInterval方法。
首先,寫一個setInterval在動作中調用對象的方法的例子,該例子不需要傳遞參數。
myobj=new Object();//創建一個新的對象
myobj.interval=function(){ trace("每隔1秒我就會顯示一次");}//創建對象的方法。
setInterval(myobj,"interval",1000);//設定時間間隔調用對象的方法。
接下來介紹如何傳遞參數。其實道理和函式的傳遞參數是一樣的。
myobj=new Object();
myobj.interval=function(str){ trace(str);}
setInterval(myobj,"interval",2000," 每隔2秒我就會顯示一次");
注意。要調用為對象定義的方法時,必須在專家模式中使用第二種語法格式。
這樣子的話呢,我們來作一個動態顯示時間的畫面。可以用下面的代碼實現。
setInterval(show,1000);
function show(){
time=new Date();
hour=time.getHours();
minu=time.getMinutes();
sec=time.getSeconds();
datetime=hour+":"+minu+":"+sec;}//這裡的datetime是一個動態文本框的變數名字。
這樣子呢,setInterval這個方法大家應該學的很好了。現在呢,我們學習clearInterval. clearInterval動作的作用是清除對setInterval函式的調用,它的語法格式如下
clearInterval(intervalid);
intervalid是調用setInterval函式後返回的對象。
下面舉一個簡單的例子。
function show(){ trace("每隔一秒我就會顯示一次");}
var sh;sh=setInterval(show,1000);
clearInterval(sh);