我正在获得图片的原始尺寸。通过max-width:473px;
将css应用于图像,并且浏览器会自动调整高度。但是在图片load event
内部,我正在获得原始的非缩放尺寸。
因此,基本上原始图片尺寸为506x337
,并且在css规则图片变为473x315
之后。如何在315px
内获得load event
高度?
更新
有用于测试的代码段: http://jsfiddle.net/CXNan/
答案 0 :(得分:1)
这将为我提供您在评论@问题中发布的元素的计算高度。
window.getComputedStyle(document.getElementById("idOfYourImage"), null).getPropertyValue("height")
正如你们已经注意到的那样,不是跨浏览器(不是IE或旧的东西)。
<强>更新强>
我发现了这个getComputedStyle for IE但是还没有测试它。 可能可以正常,因为正如http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/所说,旧的IE API被称为currentStyle
,这是&#34; getComputedStyle for IE&#34;使用
currentStyle唯一的问题是getComputedStyle
总是会返回一个像素值,currentStyle
会返回原始值(因此{c}上的width:50%
将返回50%,而不是像素大小为父母的50%。)
答案 1 :(得分:0)
将最大宽度除以宽高比,您将获得缩放高度。请注意,如果图像小于最大宽度,则不会进行缩放。像这样:
var height = img.width > 473 ? 473 / (img.width/img.height) : img.height;
答案 2 :(得分:0)