setInterval全面的介紹 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大于動畫幀速,則只用在每次播放頭進入某一幀是才調用,以減小每次刷新屏幕的影響。 下面的例子每隔1秒調用一次匿名函數。
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.get.Seconds(); datetime=hour+":"+minu+":"+sec; }//這里的datetime是一個動態文本框的變量名字。
這樣子呢,setInterval這個方法大家應該學的很好了。現在呢,我們學習clearInterval. clearInterval動作的作用是清楚對setInterval函數的調用,它的語法格式如下clearInterval(intervalid);intervalid是調用setInterval函數后返回的對象。 下面舉一個簡單的例子。
function show(){ trace("每隔一秒我就會顯示一次"); } var sh; sh=setInterval(show,1000); clearInterval(sh);
好的至此,學習結束。希望對大家有所幫助。 以上代碼可以直接復制。 |