2012-08-06 99 views
1

我注意到,而測試砌體,如果我轉移 - 在Firefox重新加載(硬重新加載),然後佈局將關閉頁面中的任何圖像的高度。我認爲div高度必須取決於知道圖像高度,這是有道理的。結合砌體與Waitforimages,圖像加載

既然我已經使用jquery.waitforimages.js,我說這個我頁的末尾,我的腳本:

$wall.waitForImages(function() { 

    $wall.masonry('reload'); 

}); 

雖然一切正常,現在我有我在Firebug看到錯誤,這隻有在我不需要硬重新加載時纔會發生。所以我假設這個錯誤發生在圖像已經被緩存的時候:「在初始化之前不能調用masonry的方法;試圖調用方法'reload'」。

有沒有辦法呢? 謝謝!

回答

1

答案:使用名爲imagesLoaded與砌體的腳本,因爲同一作者寫了兩個&他們一起工作。
腳本:https://github.com/desandro/imagesloaded/

在你jQuery的,是這樣的:

$wall = $('#mydiv'); 
    $wall.imagesLoaded(function(){ 
      // call your layout function, something like: 
      // layoutBricks(); 
    }); 

這應該有助於避免Heisenbug。我還沒有在我的其他小工具上測試這個新的圖像加載腳本,所以我還不知道。