我查看了所有相关的问题和答案,发现大多数都不完整(在这种情况下不起作用),所以我用详细的 JSFiddle 来问这个特定的问题。
我在层次结构深处有书签锚点,但需要计算它们在特定祖先中的垂直偏移量,以便平滑滚动到它们。
当前偏移量计算为:
function GetOffset($element, $parent)
{
return {
top: $element.offset().top + $parent.scrollTop(),
left: $element.offset().left + $parent.scrollLeft()
};
}
但是滚动会在所选元素下结束,而不是显示它。
我使示例代码的其余部分尽可能冗长和明显。
更新:
我已经更新了小提琴以表明问题是由滚动面板的偏移引起的。这为项目提供了不正确的 offset().top 值,所以我猜问题出在我对offset()
.
JSFiddle:http: //jsfiddle.net/TrueBlueAussie/dtYpx/7/
有人可以告诉我如何正确计算偏移量以便滚动工作吗?最好只调整我的GetOffset()
功能。