简而言之:
为什么是这样的:浏览器滚动动画性能
$('body').animate({scrollLeft: 1000});
远比这个要快得多:
$('body').animate({"margin-left": 1000});
?
背景:
我正在一个有动画滚动的网站上工作。例如:当用户点击一个链接时,我会触发一个为动画滚动条添加动画的javascript。同样的事情也到这个网站:
http://www.fashionphotographer.it/
我对这个问题先取是动画margin-left
使用jQuery.animate但这被证明是非常慢(我的网站是非常沉重的内容)。之后,我尝试使用CSS3甚至-webkit转换对绝对元素的left
进行动画处理。所有解决方案都很慢。
我最后的尝试是使用jQuery来为滚动条设置动画,并且这证明是迄今为止最好的解决方案。
我的问题是:什么样的优化是浏览器(我使用Chrome)在引擎盖下做动画滚动条的最佳解决方案?
由于客户投诉,我昨晚注意到了这一点。他使用的是铬,我有一个.animate({opacity:0});他声称当他试图滚动页面时该页面无法使用。我暂时将其删除。我也在移动dom元素。所以我想它的回流...... – Jason 2011-12-16 15:26:21