2011-05-12 47 views
1

似乎有我的兩個定時器之間的衝突,我想知道如何使它們完全獨立,但在同一個頁面上執行。這裏是代碼:多的setTimeout的

在頁面加載時

<script language="javascript" type="text/javascript"> 
window.onload = function() 
{ 
    setTimeout("AlterTwitterTimer();", 60000); 
    setTimeout("MainStatusTimer();", 60000); 
} 
</script> 

其他相關的腳本

function AlterTwitterTimer() 
{ 
    document.getElementById('TwitterTimer').innerHTML = '0'; 
} 

function MainStatusTimer() 
{ 
    document.getElementById('MainStatusTimer').innerHTML = '0'; 
} 

function DelayedRefresh(DashCity) 
{ 
    if(document.getElementById('TwitterTimer').innerHTML == '0') 
    { 
      document.getElementById('fmeProcess').src = '/ajax/twitter_feed_ajax.asp?id='NY'; 
      document.getElementById('TwitterTimer').innerHTML = '1'; 
      setTimeout("AlterTwitterTimer();", 60000); 
    } 
} 

function DelayedStatusRefresh() 
{ 
    if(document.getElementById('MainStatusTimer').innerHTML == '0') 
    { 
      document.getElementById('fmeProcess').src = '/ajax/dash_board_status.asp'; 
      document.getElementById('MainStatusTimer').innerHTML = '1'; 
      setTimeout("MainStatusTimer();", 60000); 
    } 
} 

任何幫助,您可以提供將是巨大的讚賞。

非常感謝, 保羅

回答

4

首先:

setTimeout(AlterTwitterTimer, 60000); 
setTimeout(MainStatusTimer, 60000); 

其次,他們無關。每個setTimeout呼叫都會返回一個數字ID,您可以稍後傳遞給clearTimeout以取消延遲的呼叫。