2012-04-12 45 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