2010-03-24 44 views
0

即時通訊使用的插件做一些事情永遠10秒:jQuery的 - 復位定時器

function status_updates(){ 
    $("p").everyTime(1000,function(i) { 
     if(i==10){ 
      alert("foo"); 
      // something here 
     }else{ 
      $(this).html(i);  
     } 
    }); 
} 
status_updates(); 

,它說的東西在這裏,我需要添加一些復位定時器,但我不知道怎麼辦。插件在這裏:http://jquery.offput.ca/every/或者如果你知道其他方式,將不勝感激。

+1

不知道你所說的「復位定時器」的意思。你能詳細說明嗎? – bcherry 2010-03-24 21:15:09

回答

0

如果您使用i == 10進行測試,警報只會觸發一次。

試試這個:

function status_updates(){ 
    $("p").everyTime(1000,function(i) { 
     if(i % 10 == 0){ 
      alert("foo"); 
      // something here 
     }else{ 
      $(this).html(i);  
     } 
    }); 
} 
status_updates(); 
+0

'i'最終可能會溢出,導致var大小限制附近出現錯誤。最好將'i'重置爲'0'。 – Joel 2010-03-24 21:55:12

+0

嗨Joel..why?它的上限是1000。我甚至不認爲這個插件允許重置和重啓。 – systempuntoout 2010-03-24 22:11:48

+0

我假設'i'是區間迭代計數器。當沒有計數參數調用'everyTime'時,'i'是無界的。因此,這個循環函數將被無限期地每秒調用一次。最終'我'會達到javascript的最大值(約1.8e + 300我認爲)並溢出到最小值。溢出時會出現奇怪的行爲。當然,在1000毫秒內需要很長時間,但你仍應該考慮它。 – Joel 2010-03-25 19:54:26