JavaScript - 是否可以在单独的页面中从div获取高度?

时间:2010-05-02 16:23:53

标签: javascript jquery html css

我想知道,是否可以使用JavaScript从单独的页面收集特定div容器的高度?我正在使用jQuery btw,我需要比较div容器的高度。

编辑:为了澄清一点,我使用jQuery在单独的页面中加载来自特定div的内容。此内容淡入具有动态高度的不同容器中。但是在内容到来之前的一小部分时间里,它会缩小到它的最小高度。

到目前为止,我所做的是在装载之前和之后收集容器的高度。但它只在我加载一次内容后才有效。因为在第一次装载之前我没有高度。

3 个答案:

答案 0 :(得分:3)

如果页面之间的关系是开启者和[popup | child]窗口,那么是。

如果没有,您将遇到安全墙。 (不相关的页面不应该互相访问)

因此,如果“其他”页面是您的页面启动的弹出窗口,或者是您的页面“已启动”的子iframe,那么是。

我会使用jQuery .height()方法来获取高度,但是你如何获得对象取决于你(取决于你拥有的属性信息等)。

//get from popup
var otherDiv = popupWinRef.document.getElementbyId('id');

//get from iframe
var otherDiv = window.frames[frameIdOrIndex].document.getElementById('id');

alert($(otherDiv).height());

答案 1 :(得分:0)

嗯,直到它通过jQuery加载后才能得到它。然后,您需要确保两个具有相同ID的div之间没有冲突。

答案 2 :(得分:0)

从您的评论中听起来您正在使用ajax从其他页面加载内容,您可能会隐藏加载div ...所以我会将加载div绝对放在视口之外但不会隐藏。然后得到你想要的div的高度,但要确保你使用加载div和你想要的div访问它......这样的事情:

#divToLoadContent { position: absolute; left: -99999em; top: 0; } /* don't hide this div */

脚本

var height = $('#divToLoadContent #myDesiredDiv').height();