【问题标题】:Setting height of a DIV to correspond with location of anchor inside said DIV将 DIV 的高度设置为与所述 DIV 内的锚点位置相对应
【发布时间】:2012-01-06 17:10:25
【问题描述】:

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

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

添加深度和背景:http://jsfiddle.net/pipip/yj9dB/
这将用于修改后的 JQuery Slider。使用 CMS 的人可以在 Content 字段中键入 [readmore] anywhere,这将通过 PHP 替换为上述锚点。这样,他们就可以轻松地控制 Read More 中断出现在容器中的位置。在关联的example 中,我将高度硬编码为75px,尽管我想要的是高度取决于文本中锚点name="stop" 的位置。

谢谢。如果这是一种糟糕的处理方式,我全神贯注!

【问题讨论】:

    标签: javascript jquery height show-hide


    【解决方案1】:

    使用 jQuery 你可以这样做:

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

    和 CSS:

    #container {
        position: relative;
    }
    

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

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

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

    【讨论】:

    • @JaredFarrish 谢谢。我现在是这个网站游戏机制的受害者。 :)
    • 非常感谢!我根据您使用的内容更新了我的完整显示/隐藏测试:jsfiddle.net/pipip/MheSm 感谢您提供有关使用 id 而不是 name 的说明。
    【解决方案2】:

    不过,最好的方法是让链接通过 Ajax 加载整篇文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 2012-02-10
      • 2011-10-04
      • 2019-01-25
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多