2011-08-04 169 views
0
不工作

我有以下代碼預加載圖像:圖像預加載在IE

preloader : function(images) { 
     var imgCount = images.length; 
     var counter = 0; 
     $.each(images, function(i, n) { 
      alert('hi'); 
      // load each image 
      $("<img />").attr("src", n).load(function() { 
       counter++; 
       if(imgCount == counter) { 
        $('#loader').hide(); 
        $('#wheel').show(); 
       } 
      }); 
     }); 
    } 

這我打電話,像這樣:

preloader(['../images/image1.png','../images/image2.png','../images/image3.png']); 

它工作正常,在Firefox,但在IE它不沒有工作。我得到所有3個警報,以便每個循環都運行,但它只加載第一個圖像。如果我只輸出數組中的一個圖像,我將進入最終的if語句,並顯示並隱藏div。但是,不止一個圖像和Ie旅行了。正如我所說這在FF工作正常,所以它不是一個圖像或圖像路徑丟失等問題等。

任何想法?我真的很難過這個。

+1

爲什麼你認爲''''對象在'$ .each'迭代中存活? –

+0

我只是假設它會......不是嗎?這是問題嗎?如果是這樣,我不知道如何解決。有任何想法嗎? –

回答

1

我一直使用這個夢幻般的插件:http://flesler.blogspot.com/2008/01/jquerypreload.html

$.preload([ 'red', 'blue', 'yellow' ], { 
    base:'images/colors/', 
    ext:'.jpg' 
}); 

除了這個事實,這是很好的編碼 - 有與堆載預壓,即圖像的問題,這個插件涉及。