我在stackoverflow上发现了很多关于JQuery平滑滚动的问题和答案,但我仍然无法理解它是如何工作的。
var $root = $('html, body');
$('a').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top
}, 500, function () {
window.location.hash = href;
});
return false;
});
animate()
,动画$root
变量的内容,对吧?animate()
函数?答案 0 :(得分:1)
将评论中的一些答案汇总到一个回复中:
传递给animate()的三个参数是scrollTop的新值,它是动画的,持续时间和完整的函数。完整的功能用于在窗口向下滚动后更新窗口的位置 - 在scrollTop更改后清理它并确保整个窗口知道“是的,我们已向下滚动”。
scrollTop是一个property of a rendered HTML DOM object,用于描述某个对象向下滚动的距离。