【发布时间】:2010-09-16 06:01:52
【问题描述】:
我需要优化图片库滑块,因为很多浏览器都很难处理动画。
请考虑以下示例:
var $div1 = $('#div1'),
$div2 = $('#div2'),
$div3 = $('#div3'),
left = 0;
function animate() {
left -= 10;
$div1.css({
left: left + 'px',
width: 1000 - left + 'px'
});
$div2.css( 'left', left - 10 + 'px' );
$div3.css( 'left', left - 40 + 'px' );
}
setInterval( animate, 20 );
当然,这给很多浏览器带来了巨大的压力,它需要每 20 毫秒重绘 3 次!
有什么方法可以克隆三个 div,离线处理它们,然后它们一次替换所有它们,从而将重绘数量减少到一个?
如果您有其他建议,请随时分享。
谢谢!
【问题讨论】:
-
Erm... jQuery 自己的
animate()有什么问题? -
我要不要给它们每个设置动画并让它们运行 20 毫秒?
-
我刚刚转换为动画。它仍然波涛汹涌,所以不幸的是我没有得到任何东西。
-
你的代码可能和jQuery内部的速度差不多,最大的问题是Chrome以外的浏览器的JS引擎很糟糕。
-
请给出一个带有标记的示例页面,最好在jsfiddle.com或jsbin.com上
标签: jquery css animation clone repaint