2012-01-10 63 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