2014-01-24 108 views
2

我做了這個功能:運行相同的JavaScript功能很多次,每2秒

function menucount(bartype, div){ 
    $(document).ready(function(){ 
     $.ajax({ 
      url: 'ajax.php', 
      data:"opdate-menu="+bartype+"&bar=<?php echo $barnavn ?>", 
      success: function(data) { 
       $('#'+div).html(data); 
      } 
     }); 
    }); 
} 

可以檢查更新,並顯示在我的菜單按鈕的新號碼。我這樣使用它:

window.setInterval(menucount(), 2000); 

This Works。

現在我想上運行多個按鈕這個功能,所以我創建了一個「包裝」功能,並嘗試這樣運行:

function wrapper(){ 
    menucount('manglerprint','printvip'); 
    menucount('manglerprint_plus','printvipplus'); 
    menucount('temp_vipplus','ansvipplus'); 
    menucount('temp_vipalm','ansvip'); 
} 

window.setInterval(wrapper(), 2000); 

但是,這並不工作,它只運行menucount()之一實例。我怎麼能這樣多次運行menucount()

回答

2

您正在使用wrapper()調用函數,並將由undefined返回的值傳遞給setInterval()

您需要通過像

window.setInterval(wrapper, 2000); 

注意函數引用setInterval():另外,在第一示例中,也將獲得只執行一次......

+0

感謝阿倫你是對的!非常感謝:) – Bolli

+0

將在9分鐘內標記爲答案..再次感謝,我仍然在學習JavaScript。乾杯! – Bolli

+0

如果數據發生變化,是否會有一種方法來加載數據? – Bolli