1. setInterval介紹 setInterval動(dòng)作的作用是在播放動(dòng)畫的時(shí),每隔一定時(shí)間就調(diào)用函數(shù),方法或?qū)ο蟆?梢允褂帽緞?dòng)作更新來(lái)自數(shù)據(jù)庫(kù)的變量或更新時(shí)間顯示。setInterval動(dòng)作的語(yǔ)法格式如下:
setInterval(function,interval[,arg1,arg2,......argn]) setInterval(object,methodName,interval[,arg1,arg2,.....argn])
第一種格式是標(biāo)準(zhǔn)動(dòng)作面板中setInterval函數(shù)的默認(rèn)語(yǔ)法,第二種格式是在專家模式動(dòng)作中使用的方法。 參數(shù)function是一個(gè)函數(shù)名或者一個(gè)對(duì)匿名函數(shù)的引用。 object參數(shù)指定從Object對(duì)象派生的對(duì)象。methodName制定object參數(shù)中要調(diào)用的方法。 interval制定對(duì)function或methodName調(diào)用兩次之間的時(shí)間,單位是毫秒。后面的arg1等是可選的參數(shù),用于制定傳遞給function或是methodName的參數(shù)。 setInterval它設(shè)置的時(shí)間間隔小于動(dòng)畫幀速(如每秒10幀,相當(dāng)于100毫秒),則按照盡可能接近interval的時(shí)間間隔調(diào)用函數(shù)。而且必須使用updateAfterEvent動(dòng)作來(lái)確保以足夠的頻率刷新屏幕。如果interval大于動(dòng)畫幀速,則只用在每次播放頭進(jìn)入某一幀是才調(diào)用,以減小每次刷新屏幕的影響。
1) 使用匿名函數(shù)的例子 setInterval(function(){trace("每隔1秒鐘我就會(huì)顯示一次")},1000); //這里的function(){}是沒(méi)有函數(shù)名的函數(shù)。成為匿名函數(shù),后面的1000是時(shí)間間隔,單位是毫秒。
2) 傳遞參數(shù)的例子 function show1() { trace("每隔1秒我就會(huì)顯示一次"); } function show2(str) { trace(str); } setInterval(show1,1000); setInterval(show2,2000,"每隔2秒我就會(huì)顯示一次"); //如果有更多的參數(shù)可以在后面繼續(xù)添加
3) 對(duì)象的setInterval 首先,寫一個(gè)setInterval在動(dòng)作中調(diào)用對(duì)象的方法的例子,該例子不需要傳遞參數(shù)。
myobj=new Object();//創(chuàng)建一個(gè)新的對(duì)象 myobj.interval=function) { trace("每隔1秒我就會(huì)顯示一次"); }//創(chuàng)建對(duì)象的方法。 setInterval(myobj,"interval",1000);//設(shè)定時(shí)間間隔調(diào)用對(duì)象的方法。
接下來(lái)介紹如何傳遞參數(shù)。其實(shí)道理和函數(shù)的傳遞參數(shù)是一樣的。
myobj=new Object(); myobj.interval-function(str) { trace(str); } setInterval(myobj,"interval",2000," 每隔2秒我就會(huì)顯示一次"); 注意。要調(diào)用為對(duì)象定義的方法時(shí),必須在專家模式中使用第二種語(yǔ)法格式。
2. clearInterval方法
clearInterval動(dòng)作的作用是清除對(duì)setInterval函數(shù)的調(diào)用,它的語(yǔ)法格式如下: clearInterval(intervalid); //intervalid是調(diào)用setInterval函數(shù)后返回的對(duì)象。
下面舉一個(gè)簡(jiǎn)單的例子。 function show() { trace("每隔一秒我就會(huì)顯示一次"); } var sh; sh=setInterval(show,1000); clearInterval(sh); 通過(guò)調(diào)用clearInterval(sh)解除對(duì)show函數(shù)的定時(shí)調(diào)用