所以我正在努力寻找优化Jquery .animate(scrollTo:value)函数的最佳方法。举个例子:
$('#returnToTop').on('click', function(){
$('html, body').animate({
scrollTop: 0
}, 'slow');
});
这里有一个div作为“顶部”按钮,点击后,将页面滚动回到顶部。现在在复杂的页面上,这是相当生涩和不平滑。我想知道是否有任何jQuery忍者可以启发我们关于动画函数的确切功能。在简单的页面上,它很好而且流畅。
现在,我认为它可能会做一些沿着DOM走下去的计算,所以当它复杂时,它需要一段时间而且看起来很尖锐。所以这就是问题的核心:
我们可以采取任何步骤,作为开发人员为jQuery提供精确的参数,使其计算更简单,从而使动画更加流畅。可能存在特定的重要值,如果提供的话,将提供显着的加速。
有没有人有任何见解?
感谢。
答案 0 :(得分:4)
对于jQuery,"慢"是一段时间(准确地说是600毫秒)。如果它是一个大页面,它需要在600毫秒内跳到顶部。
如果您希望以与页面高度无关的恒定速度制作此动画,请将持续时间设置为t = offsetTop / k
,以便每秒行走大约k个像素,其中offsetTop类似于$(clickedElement).offset().top
。
jQuery也有一些插件可以直接完成。