如何找到相对于父级而不是窗口顶部的offsetTop?

时间:2013-01-01 03:45:52

标签: javascript html css

我的问题相当简单:如何找到子元素的offsetTop与其父元素(而不是窗口顶部)相比较?

offsetTop的定义声明属性将返回子元素从offsetParent顶部偏移的值,但这似乎不是这个JSFiddle的情况:http://jsfiddle.net/h5KBK/

我的目标是从可滚动div的顶部找到粗体橙色文本的偏移量,而不是窗口顶部。有没有办法在不计算上述元素,填充,边距等的高度并从offsetTop中减去它的情况下执行此操作?

我正在寻找仅限JavaScript的解决方案。请不要jQuery。

2 个答案:

答案 0 :(得分:6)

根据定义,offsetTop会返回对象相对于其offsetParent元素顶部的顶部位置(以像素为单位)。

现在offsetParent需要一个位置不是静态的元素。如果你改变了小提琴中scroll元素的位置属性,我得到的值是1012而不是没有位置属性的1110。

答案 1 :(得分:2)

实际上,我做了一些研究并找到了答案。 offsetParent必须具有指定的position:absoluteposition:relative声明,如此JSFiddle所示:http://jsfiddle.net/h5KBK/1/