我想知道,是否可以使用JavaScript从单独的页面收集特定div容器的高度?我正在使用jQuery btw,我需要比较div容器的高度。
编辑:为了澄清一点,我使用jQuery在单独的页面中加载来自特定div的内容。此内容淡入具有动态高度的不同容器中。但是在内容到来之前的一小部分时间里,它会缩小到它的最小高度。
到目前为止,我所做的是在装载之前和之后收集容器的高度。但它只在我加载一次内容后才有效。因为在第一次装载之前我没有高度。
答案 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();