我正在尝试使用以下代码将div的顶部集中在锚点击上。
$('html, body').animate({scrollTop: $("#" + divid).offset().top}, 100);
但是,它不是滚动到div的顶部,而是焦点转到div内的位置。我用Page Ruler chrome addon中的顶部值交叉检查div的offset().top
值,它们是同步的。理想情况下,它应该滚动到div的顶部。任何建议都会非常有用。
答案 0 :(得分:1)
你的小提琴似乎有效(除了你忘记了点击处理程序中的preventDefault()
)。
通常,您需要考虑滚动容器(您的案例中的窗口)上的边框,填充,边距。对于通用解决方案,请查看this gist。