setInterval和clearInterval

時間間隔能夠用 setInterval 命令來建立並用 clearInterval 命令來終止。setInterval 所用的參數有兩種格式。在第一種格式中,你傳遞給 setInterval 的參數能夠是一個函數名,一段時間上的間隔以及一些傳遞給前面函數的相關參數。當 setInterval 運行時它會依照規定的時間間隔依次將列出的參數傳遞給指定的函數,直到你調用 clearInterval 將其終止。相關的示範代碼以下:

function updateStockPrices(whichStock) {
        // Update code here
        trace('Updating prices for '+whichStock);
}
stockInterval = setInterval(updateStockPrices, 1000, "Stratford Flash Products");

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);

一個例子 html

js 寫道 數據庫

Code
function auto(){ 
alert(
"到時間了"

var monitorInterval 
= null;  
function setAuto(time,isFrist){ 
var intervalTime
=time; 
if(isFrist!="1"){ 
if(intervalTime!="off"){ 
monitorInterval
= setInterval("auto()", intervalTime*1000); 
}
else
if(monitorInterval){    
clearInterval(monitorInterval); 
monitorInterval 
= null





 

 

html 寫道
Code
<table> 
<tr> 
<td nowrap="nowrap" bgcolor="#E8E8E8">自動更新</td> 
<td align="left" bgcolor="#E8E8E8"><select 
onchange="setAuto(this.value,'0')"> 
<option value="10">10sec</option> 
<option value="20">20sec</option> 
<option value="30">30sec</option> 
<option value="60">1min</option> 
<option value="300">5min</option> 
<option value="600">10min</option> 
<option value="1800">30min</option> 
<option value="3600">60min</option> 
<option value="off">Stay</option> 
</select></td> 
</tr> 
</table>
相關文章
相關標籤/搜索