2013-03-26 40 views
2

这是我写在这里的一段时间。我在JQuery动画中遇到了一些问题:当持续时间非常缓慢(例如,10000)时,移动不够平滑。我需要一个“自然”运动为我的div。有人知道我的问题的解决方案吗?或者你能告诉我该怎么做?谢谢!!!! 的代码是这样的:Jquery动画持续时间:移动不够平滑

function moveFoo(){ 
    var timeFoo = setInterval(function(){ 
     var $foo = $("#foo"); 
     $foo.animate({"top": "-=10px"}, 20000, "linear"); 
     $foo.animate({"top": "+=10px"}, 20000, "linear"); 
    }, 1); 
}; 
moveFoo(); 

回答

2

你应该看看requestanimationframe和/或使用使用requestanimationframe补间引擎。基于定时器的动画(如jQuery补间引擎中使用的动画)效率不高,定时器导致动画不一致。

https://developer.mozilla.org/en/docs/Web/API/window.requestAnimationFrame

+0

谢谢!我对此一无所知。我一直在阅读关于requestAnimationFrame的内容,并且我试图让它工作。但动画并不平滑。我在Chrome上测试它:window.webkitRequestAnimationFrame(foo);任何想法? – Angel 2013-03-26 19:51:32