使用jquery获取元素的可见高度,而不是其实际高度

使用jquery获取元素的可见高度,而不是其实际高度,jquery,html,height,visible,Jquery,Html,Height,Visible,这篇文章是关于。 请考虑阅读它。p> 在我链接到的帖子中,我认为解决我的问题的方法是,如果一个div的可见高度大于另一个div的可见高度,则更改链接的目标。在我的布局中,我指的所有div的高度都是1100px。但那不是我想要的。我希望脚本能够获得访问者当前可以看到的div的高度,而不是它的真实高度。有没有一种使用jQuery的方法 提前谢谢 用另一个DIV包装视口DIV的内容。以该DIV为目标读取所有内容的高度: JQuery:$('div#contents').height() 布局: <

这篇文章是关于。 请考虑阅读它。p> 在我链接到的帖子中,我认为解决我的问题的方法是,如果一个div的可见高度大于另一个div的可见高度,则更改链接的目标。在我的布局中,我指的所有div的高度都是1100px。但那不是我想要的。我希望脚本能够获得访问者当前可以看到的div的高度,而不是它的真实高度。有没有一种使用jQuery的方法


提前谢谢

用另一个DIV包装视口DIV的内容。以该DIV为目标读取所有内容的高度:

JQuery:$('div#contents').height()

布局:

<div id="viewport">
  <div id="contents">...all your div contents...</div>
</div>

…你所有的div内容。。。

希望这有帮助。祝你好运。

你必须使用固定的1100px高度吗?因为你也可以指定一个最大高度:1100px;身高:100%; 当然,根据您想在div中放置的内容,您可以通过

$('.divclass').height();

您可以做的是将元素位置移到其父容器的顶部,然后从父容器高度减去它。这将为您提供元素的可见高度

$('#container').height() - $('#overflow').position().top

这是一个演示

你试过什么?检查函数
jQuery.offset()
,以及视口信息和元素高度将帮助您找到它。只是一个加减法的问题。你知道吗?我正在尝试做同样的事情,但我没有运气。我以前从未使用过。抵消,所以首先感谢你的回答,它教会了我一些东西。:-)我试着用你的方法想出一些东西,但不幸的是没用。比如说,我有3个div,都有1100px高。因此,我的整个文档是3300px高的。我想做的是计算最后一个div顶部和文档顶部之间的距离,然后根据结果更改链接的目标。所以:alert(3300-$('#div3').offset().top)当我在文档顶部时,它返回1100,这是我所期望的。但后来我向下滚动了一点,启动了脚本,但它仍然返回1100。我以为它会给我一个高于1100的数字,但它没有。所以我猜。偏移量并不像我想象的那样,只是不适合滚动的当前位置-/@汤姆。将
$(window.scrollTop()
添加到您的警报中,它将为您提供所需的内容。好极了再说一次,我不知道你能做到。现在我想我可以用它来适当地调整链接。非常感谢!:-)