2011-08-14 315 views
4

說我有這樣的:通過AJAX加載內容和預加載圖像?

$(function() { 
    $('a').click(function(e) { 
     e.preventDefault(); 
     var h = $(this).attr('href'); 
     $('#content').load(h); 
    }); 
}); 

這實際上不加載圖像,以及它只是加載內容,你如何去太加載實際圖像?

有些人似乎並不明白:我的意思是它確實會加載圖像,但不會「預加載」,因此意味着您將親眼目睹圖像加載。

編輯:說在href等於somepage.html該網頁上有它的圖片以及內容,是的,它會載入圖像和內容,但它實際上並沒有在所有預載的圖片,你仍然目睹單獨加載的圖像。如何在請求中預先加載圖像?

+0

沒有理由爲什麼在'$(本).attr從URL加載的任何'img'標籤( 'href' 屬性)'不應該加載圖像。你的錯誤控制檯(或JavaScript控制檯,取決於瀏覽器)是否有任何錯誤? –

+0

@SimpleCoder我想你不完全理解問題的本質,是的圖像加載,但不是「預加載」,因此意味着你正在目睹圖像加載。 – daryl

+0

圖像在其src'中使用相對路徑,可能不是指向正在從其中載入內容的html頁面指向正確的文件? –

回答

5

試試這個:

  1. 隱藏#content格,並在其上調用load。這將加載內容無形中使您的用戶不會看到每幅圖像之後
  2. 綁定load事件處理的圖像加載,而當他們都開除,重新展現#content DIV

看到這個答案供參考:Know when images are done loading in AJAX response。它會告訴你到底該做什麼。

+0

有趣的方法,讓我測試一下。謝謝。 – daryl

+0

當然,沒問題 –

+0

不錯的感謝之一。 – daryl