2012-01-16 85 views
2

什么是最好的/正确的方式去同步动画与jQuery?我需要消除横向手风琴动画中的小抖动。为Chrome,Safari等同步jQuery动画

下面是问题的链接(该网站是正在进行的工作)。 http://repaintthecity.com/new/index_2.html

这里是的jsfiddle问题的副本,如果测试站点出毛病了:http://jsfiddle.net/cj4MQ/1/

动画抖动发生在最右边的块。我试图搞乱动画队列,但没有实现似乎完全消除抖动。任何帮助/建议将不胜感激。

+0

这是一个很好的设计。使用Chrome 16/Linux时,我看不到任何抖动。在一个不相关的说明中,你有没有考虑过改变宽松策略?我发现这个动作有点奇怪,我猜这是因为(据我所知)在整个动画中速度是统一的。 – 2012-01-16 00:58:37

+0

谢谢。在最新版本的Firefox中,抖动并不明显,但在Chrome 16/OS X Lion中对我来说似乎最为明显。 我一直在搞不同的松动选项,但我恢复了一切回到标准,以尝试消除抖动。 – 2012-01-16 01:09:11

+1

它似乎很好,我的Chrome和Firefox在Windows 7上没有看到任何抖动。 – XepterX 2012-01-16 02:12:55

回答

0

虽然看起来两个动画同时发生,但它们不是。对于所有实际的目的,想象他们轮流改变他们的宽度。 (阅读http://ejohn.org/blog/how-javascript-timers-work/

简单的答案是你不能,也可能不应该。您正在使用单个线程化javascript过程来制作2个宽度的动画。无论如何尝试以这种方式制作动画,无论如何,你都必然会遇到抖动。

您可以尝试通过将容器宽度设置为固定宽度来隐藏抖动,同时强制最后一个元素。