这是我浪费太多时间解决的问题。网络搜索没有快速提供答案的问题,但可以直接解决。
问题是使用 jQuery 的 .position() 和 .offset()。 Position 应该返回相对于元素父元素的位置,而 offset() 返回相对于文档的位置。
在编写循环两个容器高度的函数时(“内容”容器上方的“描述”容器,“主题”容器的两个子容器),我发现 position() 和 offset() 给出了相同的结果.
换句话说,position() 值是错误的。
我尝试使用子元素和父元素的 offset() 以及父元素的滚动条。 有点工作。
但真正的答案是:将 css 位置设置为相对位置!
也就是说:如果子元素和父元素使用静态(css 默认)定位,则 jquery 的 .position() 不起作用。
我的测试表明设置 position:relative 在父母身上就足够了。子元素可以有静态或相对位置。