浏览器滚动条动画性能
Browser scrollbar animation performance
总之:
为什么:
$('body').animate({scrollLeft: 1000});
比这快得多:
$('body').animate({"margin-left": 1000});
?
<标题>背景:我在一个网站上工作,有一个动画滚动。例:当用户点击一个链接时,我触发一个javascript,使滚动条动画化。类似于这个网站:
http://www.fashionphotographer.it/我对这个问题的第一个看法是使用jQuery动画margin-left
。动画,但这被证明是非常缓慢的(我的网站是非常内容繁重)。之后,我尝试动画的left
的绝对元素,使用CSS3和-webkit-transform。
我的最后一次尝试是使用jQuery来动画滚动条,这被证明是迄今为止最好的解决方案。
我的问题是:什么样的优化是浏览器(我使用Chrome)做引擎盖下,使滚动条动画的最佳解决方案?
标题>更改scrollLeft属性不会强制DOM流,因为您实际上只是更改内容的哪一部分在任何时候是可见的。另一方面,margin-left、left或其他类似的属性可能会导致其他元素调整大小,从而迫使浏览器重新流进DOM。
编辑:我相信scrollLeft将强制重新绘制,但这比回流密集得多。
相关文章:
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- HTML5 动画性能
- 使用 KineticJS 提高动画性能
- 性能:CSS3 动画与 HTML5 Canvas
- 始终运行的 Web 应用程序上的动画滞后和性能问题
- Javascript/jQuery文本动画性能缓慢
- Webgl 动画纹理性能与画布绘制图像性能
- 悬停时连续动画(性能)
- css3动画性能差(仅适用于Chrome)
- Jquery/CSS动画性能
- 使用gifshot生成动画gif时出现性能问题
- 为DOM深处的元素设置动画真的会影响性能吗
- 浏览器滚动条动画性能
- 用angularjs在移动设备上制作动画时的性能问题
- jQuery动画性能与移动Safari
- 使用嵌套组改进SVG动画性能
- Javascript setInterval性能因多个动画而下降
- 性能优化标记动画
- KineticJS:Firefox与Chrome的动画性能
- 如何在pixi.js中创建具有良好性能的动画tile ?