设置DIV的高度以对应于所述DIV内的锚的位置

时间:2011-11-26 01:15:04

标签: javascript jquery height show-hide

核心问题http://jsfiddle.net/pipip/P46Xg/
我有一个div容器,里面有几段文字,
并且其中一个段落是以下锚<a name="stop" />
容器设置为overflow:hidden

是否可以使用javascript / JQuery设置容器的高度,以便容器的底部完全停在锚点的下方?

添加深度&amp;背景http://jsfiddle.net/pipip/yj9dB/
这将用于修改后的JQuery Slider。使用CMS的用户可以在“内容”字段中键入[readmore] 任何位置,这将通过PHP替换为上述锚点。通过这种方式,他们可以轻松控制Read More break在容器中的位置。在关联的example我将高度硬编码为75px,尽管我想要的是高度取决于文本中锚name="stop"的位置。

感谢。如果这是一个糟糕的方式,我会全力以赴!

2 个答案:

答案 0 :(得分:5)

使用jQuery你可以这样做:

$('#container').height( $('a[name=stop]').position()['top'] );

和CSS:

#container {
    position: relative;
}

我们需要这个,因为.position() gives us the position relative to an element's offset parent,我们可以通过将#container设置为position来使relative成为锚标记的偏移父级。< / p>

JSFiddle:http://jsfiddle.net/divad12/RYPm7/1/

此外,对于HTML5,您可能需要考虑设置锚标记的id属性,而不是nameHTML Anchors with 'name' or 'id'?

答案 1 :(得分:0)

但最好的办法是让链接通过Ajax加载完整的文章。