2013-01-07 104 views
1

我試圖使用JavaScript獲取圖像的尺寸--Mootools是加載的庫。javascript中的圖像尺寸

但是,即使我得到的圖像元素沒有問題,並且在元素的屬性中看到有效的寬度和高度,但當我嘗試訪問該屬性時,高度值總是返回爲0。

爲什麼?

window.addEvent("domready", function(){ 
    var thisImg = $$("img.myimgclass"); 

    console.dir(thisImg[0]); // prints all image data, including width AND height values 

    var height = thisImg[0].height; 
    var width = thisImg[0].width; 

    console.log(height); // prints 0 even though thisImg shows a valid height set 
    console.log(width); // prints valid width 

}); 
+0

您是在css中添加樣式還是作爲圖像上的屬性? – scrappedcola

+0

你的腳本在[demo](http://jsfiddle.net/pxfunc/FVaz8/)中給出了正確的值,你的標記是什麼樣的? – MikeM

回答

0

你需要調用在窗口中加載事件代碼,因爲即使DOM是建立了並不意味着圖像被加載。控制檯顯示活動對象,就是當你查看圖像加載的控制檯時,但是當它被記錄時尚未加載。

+0

我不知道控制檯調用的時間與domready不同 - 感謝提示!這已經解決了這個問題。 – julio

0

您正在閱讀的heightwidth屬性img標籤,這可能是沒有設置,但也很難說,因爲你沒有包含HTML。

+0

嗯,我相信他們已經設置好了,因爲就像我說過的那樣,當你用'console.dir'' thisImg [0]'img時,它們都存在於被轉儲的數據中。我很高興知道我哪裏出錯了。 – julio

0

嘗試image.naturalHeight和image.naturalWidth得到實際尺寸..