2012-04-12 27 views
0

我看到处处都是,但找不到合适的答案(也许我错过了它)。在我的旋转木马中,当一个物品被点击时,它应该通过滑动移动到旋转木马的中间。我使用的是animate({scrollLeft: value }, speed);,但它不会做任何动画,但是如果我做的是scrollTop它可以工作(通过调整css当然...)。 为什么scrollTop: value工作和scrollLeft: value不工作,在animate()使用jquery anmate滚动旋转木马项目到旋转木马的中间()scrollLeft

请检查我的jsfiddle:http://jsfiddle.net/rKAHV/

非常感谢

+0

您的jsfiddle似乎没有做任何事情.. – Jon 2012-04-12 11:33:38

+0

我认为这是@乔恩 – 2012-04-12 11:42:50

+0

是的,我知道@乔恩点,这就是问题所在。例如,我只想将最后一个盒子移动到旋转木马中间点击时。我不想把整个编码都包含进来,因为它太大了。我只是拿了一小段,重要的一个。 – Shaoz 2012-04-12 11:43:00

回答

0

它不工作,因为没有滚动做,你的容器一样宽,所有的元素结合在一起。滚动将是可能的,只有有滚动条(浏览器将增加一些)

如果意图是只动你可以尝试动画根据它们的左侧位置,而不是一个元素。

animate({left: value}, speed); 
+0

@ gillsec:但有时第一个项目会被点击,它必须移动到中心。基本上,任何被点击的物品都会移动到旋转木马的中心,无论是第1,第2,第5还是最后一个物品。 – Shaoz 2012-04-12 11:57:48

+0

在这里,你只需要添加的z-index处理,如果你想确保他们对当前中间的顶部。目标应该是你在正确的方向http://jsfiddle.net/rKAHV/7/ – GillesC 2012-04-12 12:09:22

+0

感谢您的努力@gillsec:但我希望有一个旋转木马,所以整个事情应该滚动,而不是每个项目。所以当一个物品被点击时,整个转盘移动直到被点击的物品位于中间。我希望这是明确的这段时间... – Shaoz 2012-04-12 12:15:00