2011-05-17 43 views
0

标题解释它。以下是我发现它的方式(将此作为答案):http://jsfiddle.net/tnk7K/3/动画到负偏移使元素跳跃

从示例中可以看出,2向右移动并在一秒后停止。然后,接连第二,2跳转到最左边,并3动画为告诉,只为它再次(一次又一次又一次...)发生

它不是造成后来调用css('left', 'auto') ,因为这是在动画完成后调用的。此外,删除它并不能解决问题。

任何想法是什么/如何解决它/我只是错了吗?谷歌搜索没有发现任何东西。

+0

我没有看到你所描述的行为 - 在Ubuntu纳蒂使用FF4.01。我可以问你使用的是什么设置? – 2011-05-17 20:25:27

+0

Win 7上的Chrome 12.0.742.53。同样的平台也发生在IE8中。 – Zirak 2011-05-17 20:27:08

+0

不确定你想达到什么目的?你不想让数字出现在最左边? – 2011-05-17 20:30:41

回答

0

我觉得发生了一些误解。您可以在CSS中同时设置leftright

http://jsfiddle.net/tnk7K/5/

你明白吗? right没有更改,left设置为0.但width已更改。


编辑:
你只需要设置left属性:

$(this).css('left', $(this).position().left); 

http://jsfiddle.net/tnk7K/7/

+0

仅在跳跃时才改变宽度;在此之前它的动画效果很好。你可以根据'left'设置'right',但我很懒,这很容易。 – Zirak 2011-05-17 20:46:39

+0

有趣。我不知道为什么这个修复它。 – Zirak 2011-05-18 09:33:46

+0

'left'属性被设置为'auto',一个非数字值。所以jQuery将它的值赋值为0.所以我只是为这个风格定义了计算值。 – pepkin88 2011-05-18 12:11:53