比方說,我這樣做:使用Javascript - jQuery的.load()和setInterval()問題
$("#content").load(...);
內包含的內容我加載一些javascript:
var myCounter = 0;
var myInterval = setInterval(function(){
myCounter++;
$("#counter-display").html("Count: "+myCounter);
});
,原因未知,如果我用$(「#content」)重新加載內容load(...); - myInterval現在被調用兩次。
我試圖做這樣的事情:
if (myInterval !== undefined){
//dont set interval again
}
但是,這是行不通的。有沒有人知道任何方法,以便myInterval在.load上清除,而不需要將JavaScript放在加載文件之外?
我想到最初這樣做,但我想嘗試一種方法,而不需要每次都從html獲取值。但是,這確實最好,所以我會使用它。謝謝! – Joe 2010-03-23 01:49:23
經過進一步測試,儘管此方法用於更新顯示的計數,但在腳本中嘗試使用該計數時,它仍然會增加一倍。我找不到任何解決方案,除了將腳本放在加載內容的外部(例如,在我執行.load()的頁面上)。 – Joe 2010-03-23 02:19:14
@Joe:您可能正在重新創建'@ counter-display'元素。將數據放入一個不被替換的元素中。 – SLaks 2010-03-23 02:28:07