示例代码:http: //jsfiddle.net/ZAm2A/3/
div.absolute-block
目标是针对(相对于)具有不同 html 结构的任何页面上的任何 dom 元素定位某个 popup( ) 窗口。为了能够绝对定位弹出窗口,我们需要将其嵌入到该 dom 元素中,之前已将 div.absolute-block 与相对或绝对定位的块包装在一起(div.relative1
在我们的示例中)。
问题是,如果我们嵌入弹出窗口的 dom 元素div.overflow1
在它的祖先中有带有 overfillw: hidden ( ) 的块,div.overflow1
则可能会裁剪弹出窗口。 div.overflow1
可能是相对定位的,我们无法在我们的情况下影响它。
第二种方法是将我们的弹出窗口附加到页面正文。在这种情况下,我们面临将弹出窗口相对于某个 dom 元素定位的问题。我们可以计算和设置文档就绪事件的弹出窗口的顶部和左侧属性。但是在调整窗口大小、ajax 内容更改或任何事件更改跟踪元素的位置的情况下,我们必须重新计算弹出位置。
我认为是否有一些新的 html 5 功能可以让我定位弹出窗口而不将其嵌入到 dom 元素中,我想相对于弹出窗口定位?任何其他想法表示赞赏。