2012-08-26 224 views
3

我有一個web應用程序,其中有一些圖像。jQuery圖像預加載

將在我的頁面顯示一個疊加在開始,並將自動淡出所有圖像loades。

我需要的是這樣的

其粗糙的代碼

var image1="image1.jpg"; 
var image2="image2.jpg"; 
var image4="image4.jpg"; 

image1 & image2 & image4 loaded then fadeout #preload and show content. 

請幫我...我想這..但沒有工作..

var img1 = new Image(); 
img1.src = "../images/wall.jpg"; 

img1.onload = function() { 
    alert("loaded"); 
}; 
+1

你的代碼工作對我來說:http://jsfiddle.net/ZrENE/ – Oriol

+0

重複:HTTP:// stackoverflow.com/questions/476679/preloading-images-with-jquery?rq=1 –

回答

1
var images_loading = $('img').length; 
$('img').load(function(){ 
    if(!--images_loading) { 
    // all images loaded 
    } 
}); 

請請注意,您不能使用display:none來隱藏圖像。

使用display:none將阻止您的瀏覽器下載圖像。改爲用戶visibility:hidden

+0

我最初的想法與這種方法類似,但是我正在檢查其中一個圖像加載時他們的'complete'屬性上的實際圖像。我更喜歡簡單地檢查櫃檯的想法。它更好,更少。 – Richard