2012-12-13 83 views
0

我正試圖檢測一組圖像何時加載了div。檢查加載的圖像jQuery

if($("#venues-page").get(0)) { 
    var img = $('#venues-page .venues img'); 
    var length = img.length; 
    img.load(function(){ 
     length--; 
     console.log(length); 
     if(length === 0){ 
      console.log("here"); 
      $(".lattice").fadeIn(1000); 
      $("#venues .venue a").css("display", "block"); 
      $("#venues-page .venues img").not('.lattice').fadeIn(500); 
     } 
    }); 
} 

這似乎的圖像時,在瀏覽器緩存,但是如果用戶沒有造訪的網站之前的圖像刷新後刷新後,似乎永遠都沒有負荷刷新做工精細。

有沒有更好的方式來確保所有的圖像都加載在一個div中,並且基於這些做的東西?

+0

我可以想象問題是在執行回調時未定義'length' var - 嘗試使用全局變量並對其進行測試 – ManseUK

+0

查看http://stackoverflow.com/questions/12905038/中的答案jQuery的替代到bindload用型與 - 圖像 – Nelson

回答

0

您可能會在這裏缺少一些代碼。

1)你的代碼應該

$(function(){ 


}); 

2)替代

img.load(function() { 

下包裹嘗試

img.one("load", function() { 
OR 
img.on("load", function() { 

我試着用你的代碼,它工作得很好。如果您仍然遇到任何問題,請告訴我。