我在窗口内有一个滚动元素.
假设一个分区有一个带有溢出auto的类“currentContainer”,并且该分区包含大量的文本,因此它肯定足够大,可以滚动.
现在我必须根据“currentContainer”向下滚动多少来计算特定元素与其父滚动div(即“currentCoantainer”)的偏移量.
但是在计算偏移量时,我总是得到内部子元素相对于窗口而不是“currentContainer”的偏移量.
@Shikkediel我也试过使用position().top而不是offset().top但是也给出了相同的结果.看看它 :
请不要建议使用:
$("<reference of scrolling element").scrollTop() + $("<reference of child element whose offset I want to calculate>").offset().top
因为这会使我的实际计算变得复杂,我将要做的除此之外.
我不想使用上述方法的原因是我试图修改现有代码已经太乱了但是在窗口方面工作得很好我只需要更新它以便它开始相对于它工作父母滚动div.
我尝试使用上面提到的方法,但它为我打开了一盒螃蟹.因为功能太紧密耦合了.所以我想如果我能得到简单直接的解决方案,即用其他东西替换.offset().top.
我尝试调试代码但仍然没有运气我在http://jsfiddle.net/arpitajain/kwkm7com/添加了实际代码
解决方法
您可以从子元素的偏移量中减去父元素的偏移量.这会使你需要做的其他事情变得复杂吗?
$(".getoffset").offset().top - $(".getoffset").offsetParent().offset().top