2013-03-26 45 views
0

我有一個項目需要獲取徽標的尺寸並相應地調整其位置。據我所知,頁面上的所有元素都應該準備好在$(document).readyonload事件之後使用。我也嘗試在關閉身體標記之前放置腳本,以確保我可以獲取所有內容。我使用jQuery $(element).width$(element).height來測量徽標圖像。頁面加載後獲取圖片尺寸

但是,我沒有得到這些值每次:我控制檯登錄這兩個值。有時,它顯示我爲零,我猜測圖像標籤加載,但實際的圖像仍在加載。我很困惑,因爲我在網上搜索,他們都說所有的元素應該準備好,如果我使用DOM準備好或者把腳本標籤放在最後。

+1

檢查了這一點:http://stackoverflow.com/questions/623172/how-to-get-image-size-height-width-using-javascript – ophintor 2013-03-26 16:10:55

回答

0

頁面上的所有元素都應該準備好在$(document).ready或onload事件之後使用。我也嘗試在關閉身體標記之前放置腳本,以確保我可以獲取所有內容。

不,$(document).ready事件resp。將腳本嵌入到主體中的最後一個元素只能保證DOM結構已經建立。那而不是意味着由任何元素引用的外部資源已經完成加載 - 唯一確保事件爲load的事件。

jQuery文檔明確警告將$(document).ready與「舊學校」加載事件處理(意思是body或window.onload上的onload屬性)相結合 - 因此您應該使用.on('load', handler)來代替。但請注意文檔中提到的有關圖像的洞穴。

+0

這就是答案。非常感謝 – user2183143 2013-03-26 17:27:49

1

試試這個

$('#img').load(function() { 
// Handler for .load() called. 
}); 
+0

不幸的是,它每次都不工作。 – user2183143 2013-03-26 17:24:42

+0

每次圖像添加到dom後調用它,你有方法內的斷點? – 2013-03-26 18:53:35