2014-10-03 35 views
0

我有一個相當長的頁面主要是圖像。它被分成單獨的HTML頁面,當用戶接近頁面的底部時,我使用JQuery​​來獲取下一頁(無限滾動)。使用Jquery定位動態加載的內容

但是,加載此內容時遇到了一些問題。我的所有圖片(出於各種原因)都使用Jquery函數進行定位。

雖然我已經試過呼籲​​回調這個功能和使用$(document).ajaxComplete(),這個功能似乎偶爾過早火(即圖像正確加載之前),所以它沒有效果,使很多新加載的圖像不合適。

我能想到的唯一的事情就是使用setTimeout()之類的東西,但是這看起來有點不好意思......有沒有更好的方法來做到這一點?問題可能是因爲我將我的加載內容從一個地方移動到另一個地方?

這裏是我的代碼加載...

$('#load-area').load(content_to_load, function() { 
     var loaded_content = $('#load-area').html(); 
     $('#load-wrapper').append(loaded_content); 
     $('#load-area').empty(); 
     $('#loading2').hide() 
}); 

有沒有辦法來檢測時,該內容是完全加載再火的功能?

回答

0

嘗試.done()事件處理

「添加處理程序當遞延對象是解決被稱爲」。

這裏來源: http://api.jquery.com/deferred.done/

+0

我不認爲.done()適用於.load(),從我可以看到。 – Jacob 2014-10-03 10:00:41

0

我認爲你可以在你問要加載的內容再次使用.load()內部的功能的地方要運行後追加和其它任何功能。內容已加載。看看是否有效。

$('#content-loaded-in').load(function{ 
    //code to be run after completely loaded 
}); 
+0

這似乎很合乎邏輯...不幸的是,.load()事件似乎沒有正確觸發。 – Jacob 2014-10-03 18:00:28