javascript 定時器. setInterval 用法

來源:互聯網
上載者:User

 工作上需要一個報表  差不多兩分鐘後重新整理一次. 

用javascript的定時器.可以自動調用函數  詳細如下:

 

1、obj=setTimeout("函數名",時間) 定時器,只調用一次;obj為返回的對象; 
             clearTimeout(obj) 清除定時器

 

2、obj =setInterval("function",int) 定時器,每格int毫秒調用一次function,直到使用clearInterval清除該定時器;

      clearInterval(obj); 清除定時器,即停止調用

clearInterval類似JS的clearTimeout

時間間隔可以用 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);

另外  如果需要調用javascript的函數 並傳入參數的  可以如下寫法

  function test(dt) {
                alert(dt +"joch");
           }

    window.setInterval(function() { test(starttime); }, 5000); //其中 starttime是參數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.