在浏览器缩放时查找任何DOM元素的实际高度

时间:2012-04-05 03:03:38

标签: jquery dom height zoom

有什么方法可以找到在DOM上呈现的元素的高度。

即使我放大/缩小,它也应该给我元素的实际高度。目前我使用过:

HTML:

<div >
    <span><img src="Desert.jpg" style="border:none;width:100px" id="imgdiv"/></span>
    <br/>
    <input type="button" id="heightcalc" value="Find Height" />
</div>

jQuery的:

$('#heightcalc').click(function(){
    alert($('#imgdiv').height());
});

现在100%放大图像的高度75.使用200%/ 300%/ 400%放大高度相同,即75.我的要求是每当我增加放大高度也应该改变。有什么方法可以找到图像的相对高度。我在IE9,Chrome / Firefox中试过这个 - 结果是一样的。

另外,我确实尝试过clientHeight,offsetHeight,outerHeight,但没有运气!

非常感谢任何帮助。

由于 Anirban

1 个答案:

答案 0 :(得分:0)

我使用以下方法计算所有浏览器的缩放效果:

https://github.com/yonran/detect-zoom

通过它可以获得乘法因子,然后将该因子乘以元素的实际高度。

以下是代码:请注意我在我们的应用程序中使用require js。

require(["Widgets/detectzoom"], function (detectZoom) {
                zoom = detectZoom.ratios();
            });

            var heightofeachNode = ($("#dmcontent  ul li a span").eq(0).height()) * zoom.devicePxPerCssPx;
            self.pageSize = Math.round(($("#dmcontent").height()) / heightofeachNode) + 20 ;//20 - Its is the offset value

我已经在所有浏览器[IE9,Chrome18.0,FF 11.0]

中进行了测试

希望这有帮助。

Anirban