JavaScript中setInterval的用法總結(jié)
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秒調(diào)用一次匿名函數(shù)。
setInterval(function(){trace("每隔1秒鐘我就會(huì)顯示一次")},1000);//這里的function(){}是沒(méi)有函數(shù)名的函數(shù)。成為匿名函數(shù),后面的1000是時(shí)間間隔,單位是毫秒。
下面的例子為我們展示如何帶參數(shù)運(yùn)行。
function show1(){
trace("每隔1秒顯示一次");
}
function show2(str){
trace(str);
}
setInterval(show1,1000);
setInterval(show2,2000,"每隔2秒我就會(huì)顯示一次");
上面已經(jīng)將函數(shù)的setInterval方法介紹了。
下面我們將介紹對(duì)象的setInterval方法。
首先,寫一個(gè)setInterval在動(dòng)作中調(diào)用對(duì)象的方法的例子,該例子不需要傳遞參數(shù)。
myobj=new Object();//創(chuàng)建一個(gè)新的對(duì)象
myobj.interval=function){
trace("每隔1秒顯示一次");
}//創(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ǔ)法格式。
這樣子的話呢,我們來(lái)作一個(gè)動(dòng)態(tài)顯示時(shí)間的畫面。可以用下面的代碼實(shí)現(xiàn)。
setInterval(show,1000);
function show(){
time=new Date();
hour=time.getHours();
minu=time.getMinutes();
sec=time.get.Seconds();
datetime=hour+":"+minu+":"+sec;
}//這里的datetime是一個(gè)動(dòng)態(tài)文本框的變量名字。
這樣子呢,setInterval這個(gè)方法大家應(yīng)該學(xué)的很好了?,F(xiàn)在呢,我們學(xué)習(xí)clearInterval.
clearInterval動(dòng)作的作用是清楚對(duì)setInterval函數(shù)的調(diào)用,它的語(yǔ)法格式如下clearInterval(intervalid);intervalid是調(diào)用setInterval函數(shù)后返回的對(duì)象。
下面舉一個(gè)簡(jiǎn)單的例子。
function show(){
trace("每隔一秒顯示一次");
}
var sh;
sh=setInterval(show,1000);
clearInterval(sh);
相關(guān)文章
JavaScript的eval JSON object問(wèn)題
在做AJAX應(yīng)用開發(fā)的時(shí)候,我們通常喜歡把服務(wù)器端返回的JSON格式字符串在客戶端的回調(diào)函數(shù)中把它作為JavaScript代碼執(zhí)行并用一個(gè)變量保存起來(lái),以方便使用返回的數(shù)據(jù)。2009-11-11兩種JS實(shí)現(xiàn)屏蔽鼠標(biāo)右鍵的方法
這篇文章主要介紹了兩種JS實(shí)現(xiàn)屏蔽鼠標(biāo)右鍵的方法,瀏覽者在訪問(wèn)你網(wǎng)頁(yè)的時(shí)候就不能點(diǎn)擊右鍵,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08JavaScript中ES6 Babel正確安裝過(guò)程
這篇文章主要介紹了JavaScript中ES6 Babel正確安裝過(guò)程的相關(guān)資料,需要的朋友可以參考下2016-07-07JavaScript中的this基本問(wèn)題實(shí)例小結(jié)
這篇文章主要介紹了JavaScript中的this基本問(wèn)題,結(jié)合實(shí)例形式總結(jié)分析了JavaScript中this的功能、常見(jiàn)用法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03微信小程序?qū)崿F(xiàn)圓形進(jìn)度條動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圓形進(jìn)度條動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Bootstrap實(shí)現(xiàn)默認(rèn)導(dǎo)航欄效果
這篇文章主要介紹了Bootstrap實(shí)現(xiàn)默認(rèn)導(dǎo)航欄效果,導(dǎo)航欄是一個(gè)很好的功能,是Bootstrap網(wǎng)站的一個(gè)突出特點(diǎn),本文帶領(lǐng)大家學(xué)習(xí)實(shí)現(xiàn)Bootstrap導(dǎo)航欄,需要的朋友可以參考下2015-12-12js 靜態(tài)動(dòng)態(tài)成員 and 信息的封裝和隱藏
一下用面向?qū)ο蟮南嚓P(guān)概念來(lái)解釋js中的仿面向?qū)ο螅驗(yàn)閖s中不像其他語(yǔ)言,不存在面向?qū)ο笳Z(yǔ)言的相關(guān)特性2011-05-05