2010-06-24 68 views
2

我已經寫了這個簡單的圖像預加載器基於我的JavaScript知識,但我不知道它是否會實際加載圖像之前頁面顯示或如果它仍然會加載圖像。這會重新加載圖像嗎?

function preloadImages(html) { 
for(var i=0;i<document.images.length;i++) { 
    img_obj = new Image(); 
    img_obj.src = document.images[i].src; 
    if (!img_obj.complete) alert("could not load:" + img_obj.src); 
    else continue; 
} 
    $("#pad").fadeIn(200); 
    return true; 
} 

另外,這是我正在預加載圖像的方式嗎?

回答

0

取決於你想要做什麼。 js應該在頁面加載之後運行onload,所以我不確定你是否真的得到了任何好處。 (http://dean.edwards.name/weblog/2005/02/order-of-events/

您可以使用CSS進行預加載。

+0

我使用ajax調用來加載頁面到一個div容器,所以在我的實際功能,加載和處理ajax請求我用這個? – Ferdi 2010-06-24 15:52:20

+0

我可能不會真的調用這個預加載,因爲你只是在調用ajax函數時加載它們。一般來說,如果我正在做一件很炫的事情,我會先將所有內容加載到頁面中,然後隱藏它。然後我知道所有的東西都被加載並且可以訪問,然後我開始用它來做特別的事情,例如幻燈片等 – matpol 2010-06-25 07:33:07

1

要加載圖像,圖像需要在頁面上具有高度/寬度。

我想大多數人通常會將圖像插入到DOM中,設置高度,寬度,確保顯示塊。在-9999px左側和頂部設置一個絕對位置,或者沿着這些線設置一個絕對位置。圖像將在您需要時緩存。