2012-11-21 41 views
1

我有一個div.body其含有img當中幾個更多的元素。一致的方式加載

我需要img加載後得到的div.body高度。

我目前使用下面的測量:

var $body = $("div.body"); 
$body.find("img").ready(function(){ 
    var bodyHeight = $body.outerHeight(); 
}); 

這將返回正確的高度90%的時間,但有些時候它返回的高度不包括圖像的高度。


例如,如果在div.body和其他元素,直到50px,和我的形象有150px的高度,我需要得到200px,但有時這是隻返回50px


這是爲什麼?圖像加載後,是否只能調用.ready()函數?

我應該使用不同的方法?

什麼是一旦圖像可以運行此代碼的100%一致的方式?

回答

3

.ready()運行時,整個頁面的DOM被加載。你想要​​。

見討論部分here爲動態添加內容的一種實施。

+0

見http://ruirize.co.uk/一個無恥的插頭,這樣的實現。 –

+0

我的理解是'load'只會在圖片尚未被緩存的情況下運行? – Curt

+0

我的經驗是它會在容器中的所有內容都已經準備就緒時執行。它在我的網站上正常工作。 –