我的问题相当简单:如何找到子元素的offsetTop
与其父元素(而不是窗口顶部)相比较?
offsetTop
的定义声明属性将返回子元素从offsetParent
顶部偏移的值,但这似乎不是这个JSFiddle的情况:http://jsfiddle.net/h5KBK/。
我的目标是从可滚动div的顶部找到粗体橙色文本的偏移量,而不是窗口顶部。有没有办法在不计算上述元素,填充,边距等的高度并从offsetTop
中减去它的情况下执行此操作?
我正在寻找仅限JavaScript的解决方案。请不要jQuery。
答案 0 :(得分:6)
根据定义,offsetTop
会返回对象相对于其offsetParent
元素顶部的顶部位置(以像素为单位)。
现在offsetParent
需要一个位置不是静态的元素。如果你改变了小提琴中scroll
元素的位置属性,我得到的值是1012而不是没有位置属性的1110。
答案 1 :(得分:2)
实际上,我做了一些研究并找到了答案。 offsetParent
必须具有指定的position:absolute
或position:relative
声明,如此JSFiddle所示:http://jsfiddle.net/h5KBK/1/