2011-11-07 71 views
0

什么是做到这一点的最好办法,的jQuery/JavaScript的对的keydown /鼠标按下流畅的动画

  • setTimeout() and css({left: '+=1'});

  • 使用animation({left:+=30}, '300', 'linear');
  • 的最佳实践

作为亩因为我认为setTimeout和css()是正确的方式,我似乎无法达到正确的平滑度,更不用说这似乎吃了很多内存..

请注意,我不要尝试在mousedown上进行动画,并在mouseup上停止,而不是点击时从一点到另一点的动画。

回答

0

动画()的十分之一增加值,这就是为什么它的顺畅。

想你可以做同样的CSS(),但为什么推倒重来。

0

我的猜测是,jQuery的动画是最好的方法。

大量的工作已投入jQuery库创建非常流畅的动画。我试图与两者合作,但我总是得出结论:使用jQuery库进行动画更好,然后编写自己的动画代码。

在我看来,这也是实现这种动画的最简单的方法。

编辑:如果你只有用最新的浏览器兼容,CSS3也是动画的好方法:http://css3.bradshawenterprises.com/animations/

+0

事情是,当你使用动画时,你必须动画至少几个像素,所以没有实际按住按钮,只需点击,它将动画这些少数像素。你知道我的意思,它不同于使用css和settimeout方法,它根本不会动画,或者只动画一个像素..并且不会,在这个特定的项目上我不能使用CSS3 .. – foxx

+0

如果你不想动画你的html ,比你显然不应该使用jQuery的动画功能。 – Mathieu

+0

我认为你误解了我,[jsfiddle](http://jsfiddle.net/SLfYX/)只尝试点击,没有按下按钮,动画动画这些10px,这是相当不想要的效果,并获得平滑和从动画一致的fps,你不能做动画({left:'+ = 1'}) – foxx