0

我有几个元素卡在容器中,这些容器设置为相对定位的父级。这些元素需要添加自定义工具提示,工具提示是相对元素之外的固定位置元素。因此,当固定元素尝试使用窗口作为其偏移量时,根据相关元素的父元素设置偏移量会使得固定元素难以排列在我们希望它们排列的元素下方。

我会尝试展示我尝试过的代码的混乱,但此时它只是垃圾,导致我在明显正确的方向之外走了很多方向,以至于我错过了它需要重写。所以在我这样做之前,我需要弄清楚如何获得我需要将固定元素对齐的元素的位置。

我希望这是有道理的。总之我需要基于窗口的位置,而不是父想法?

代码的快速示例不完全是代码,而是为了示例而显示它

<body>
   <div style="position:relative;overflow:hidden;">
       Some text more text <span class="something">Trigger text</span>
    </div>
    <div style="position:fixed"></div>
</body>

上面是我们正在讨论的代码的一个非常简单的示例。我的问题是,具有 relative 的 div 是一个 colorbox 灯箱插件,并且其中一个包含其之外元素的模板也是具有相对定位和overflow设置为隐藏。在与相对元素相同的元素中使用绝对和令人惊讶(也固定)位置的问题是,如果我只想在特定时间显示的元素大于其设置的包含元素,则溢出会吃掉它可以这么说,它落入了虚无之中。我能够做到的唯一解决方法是将一个固定位置元素放在文档底部,然后我可以告诉它何时何地需要显示。问题在于它使用整个窗口的左侧和顶部来定位,而不是导致相对容器中的元素说它的偏移量是顶部 100 和左侧 50,考虑到正在播放的元素,这是整体预期的。所以希望找到一种方法来找到相对于文档本身而不是父元素的左上角元素

4

1 回答 1

0

一些代码或图表显示您正在尝试实现的目标将有很大帮助。jQuery 提供了一些方法可以用来查找元素的位置。您可能需要在 CSS 中设置工具提示和容器的任何子元素,以position:absolute使其正常工作。

offset()返回一个对象,该对象包含文档左上角元素的左上角位置。

position()返回一个对象,该对象包含元素从其最近定位的祖先的左上角开始的左上角位置。

scrollTop()scrollLeft()返回浏览器窗口上方和左侧存在多少像素的文档。

希望这对您有所帮助。

此信息取自“ Javascript & jQuery - 缺失的手册

于 2013-05-01T00:24:37.620 回答