如果我的页面包含大量带有CSS效果和CSS动画的图像,那么在window.scrollTo
循环中使用requestAnimationFrame
与使用jQuery的$("html").animate({ scrollTop: "x" })
相比,我会获得性能提升吗{{ 1}}以编程方式将页面滚动到某个点“x”?
Tl; DR - rAF + window.scrollto()
vs .animate({scrollTop: "x"})
表现
谢谢!
答案 0 :(得分:1)
window.scrollTo()
更快,因为它是原生JavaScript。对jQuery的任何调用都较慢,因为$()
和.animate()
每个(可能)都会花费比单window.scrollTo()
次调用更多的时间。使用.animate({scrollTop ...
没有时间也是浪费,因为你可以使用$("html").scrollTop()
。无论如何,window.scrollTo()
应该比这更快,并且具有跨浏览器可共享的优点。如果你不打算给滚动设置动画,我会说使用它。
免责声明:您可能不会看到很多性能差异。