我试图通过使用offsetTop
属性来检测元素何时出现在容器的边界之外,但该属性没有给出我预期的结果.有关上下文,请参阅this simplified JSFiddle.
根据MDN对offsetTop
属性的定义:
HTMLElement.offsetTop只读属性返回当前元素的外边框相对于OffsetParent顶部内边框的距离,OffsetParent是位置最接近的祖先元素.
在我的JSFdle示例中,您可以看到#target
元素的偏移量父级是#container
,这是预期的,因为它是最近的定位祖先.然后,我预计当滚动#container
时,target.offsetTop
的值将发生变化,因为从#target
到#container
顶部的距离--即它的偏移父对象--现在正在发生变化.然而,情况并非如此,因为当滚动容器时,target.offsetTop
根本不会改变.(我确保示例中的文本已在滚动中更新)
我对这处房产的理解错了吗?或者我做了什么事情,导致它的工作方式与定义的不同?