我有一个放置在窗口内部的滚动元素。
假设有一个带有类名为“currentContainer”的division,overflow属性设置为auto,并且该division包含大量文本,因此它肯定足够大以进行滚动。
现在,我必须根据“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/。
P.S. 这是实际代码,但不完整。我认为其余的代码对于此错误并不重要。
.position()
,这是相对于父元素的偏移量。 - Shikkediel