首頁  >  文章  >  web前端  >  JavaScript中setInterval的用法總結_javascript技巧

JavaScript中setInterval的用法總結_javascript技巧

WBOY
WBOY原創
2016-05-16 17:14:02932瀏覽

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(){


function show1(){
隔1秒顯示一次");
}
function show2(str){
    trace(str);
}
setInterval(show1,1000);
}setInterval(show1,1000);

setInterval(show2, 2000,"每隔2秒我就會顯示一次");


上面已經將函數的setInterval方法介紹了。

複製程式碼


程式碼如下:


myobj=new Object();////建立一個新的物件
myobj.interval=function){
    trace("每隔1秒顯示一次");
}//建立物件的方法。
setInterval(myobj,"interval",1000);//設定時間間隔呼叫物件的方法。 接下來介紹如何傳遞參數。其實道理和函數的傳遞參數是一樣的。
複製程式碼


程式碼如下:


myobj=new Object(my);

myobj=new Object();

obj. interval-function(str){
    trace(str);

}setInterval(myobj,"interval",2000," 每隔2秒我就會顯示一次");注意。要呼叫為物件定義的方法時,必須在專家模式中使用第二種語法格式。 這樣子的話呢,我們來做一個動態顯示時間的畫面。可以用下面的程式碼實作。



複製程式碼


程式碼如下:


setInterval(show,1000);

setInterval(show,1000);    time=new Date();

    hour=time.getHours();

       mind >    datetime=hour ":" minu ":" sec;

}//這裡的datetime是一個動態文字方塊的變數名稱。

這樣子呢,setInterval這個方法大家應該學的很好了。現在呢,我們學clearInterval. clearInterval動作的作用是清楚對setInterval函數的調用,它的語法格式如下clearInterval(intervalid);intervalid是調用setInterval函數後返回的物件。 下面舉一個簡單的例子。


複製程式碼


程式碼如下:

function show(){function show(){}var sh;sh=setInterval(show,1000);clearInterval(sh);
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn