2012-01-10 47 views
2

使用javascript設置maxHeight和maxWidth後,獲取圖像的寬度和高度是否可行?獲取設置maxHeight和maxWidth和自動純後的高度和寬度javascript

$new_image = new Image(); 
$new_image.src = 'xxx.jpg'; 
$new_image.style.maxHeight = '500px'; 
$new_image.style.maxWidth = '600px'; 
$new_image.style.height = 'auto'; 
$new_image.style.width = 'auto'; 
alert('CURRENT WIDTH AND HEIGHT IF IMAGE IS 1000 X 1000 PX'); 

我知道如何獲得maxheight值,但這可能不是實際尺寸,因爲圖像被設置爲高度和寬度「auto」。

沒有jQuery的答案謝謝你! :)

+0

實際尺寸1000可以是大於最大高度和最大寬度的任何數字... – Hakan 2012-01-10 08:16:27

回答

2

offsetHeightoffsetWidth會得到你想要的東西,並考慮到maxWidth和maxHeight。請記住,img對象需要成爲DOM的一部分才能擁有任何尺寸。所以你需要在offsetHeight之前添加一些類似document.body.appendChild($new_image)的東西,寬度將返回任何有用的東西。

1

您可以使用DOM元素屬性clientHeightclientWidth

+0

它對我沒有效用:S將再試一次。謝謝! – Hakan 2012-01-10 08:22:12

+0

快速撥動以顯示它:http://jsfiddle.net/c8Zy2/1/ – 2012-01-10 08:23:26

+0

我需要在獲取clientHeight之前追加圖像。謝謝! – Hakan 2012-01-10 08:28:12