2011-05-05 91 views
0

我有一個菜單系統組成的divs,我想動畫的左邊屬性滑動每次用戶鼠標懸停在菜單項上,但我需要外部div(這是黑色)元素擴展菜單項從左到右也我希望div元素(.container)後退和收縮外部div元素(這是0寬度的黑色div)我有一個基本的例子在jsFiddle完成它olny移動左邊的元素動畫div元素從左到右

+1

你能更清楚地陳述你有什麼和你想要什麼嗎? – LostLin 2011-05-05 01:30:37

+0

他們動畫向右...? – LostLin 2011-05-05 01:45:42

+0

如何從mousenter語句返回時,我沒有下一elelement .container在我的例子jsFiddle http://jsfiddle.net/ra7Q6/ – ONYX 2011-05-05 02:38:11

回答

0

你應該能夠修復左邊是空的問題由具有代碼不能執行的最後一個。內容,就像這樣:

$('.container').not(':last').find('.menu-item').mouseenter(function() { 

這並不適用於菜單 - 綠色框內的項目。

對於重新展示問題,我會改變你展示的方式。而不是從落後於其他滑動框而出,你可以放置它,你希望它結束​​了和隱藏它,那麼你可以使用:

.animate({width: 'show'}) 

哪位能給類似的滑動效果。

也就是說,或者做類似我給你的其他問題的迴應,只是沒有倒塌我以前有:

http://jsfiddle.net/V3RHr/3/

+0

我怎麼得到這個... downvote ... – 2011-05-05 13:34:07

2

有一點麻煩完全理解,但是這是什麼意思?

http://jsfiddle.net/V3RHr/2/

+0

不是很像這個http://jsfiddle.net/ra7Q6/,但我得到一個錯誤,當我到最後的菜單項它說偏移()左是空的 – ONYX 2011-05-05 02:05:56

+0

,不能全部工作 – ONYX 2011-05-05 03:48:39

1

如果我能改寫你的HTML一點,我會把使每個.menu-item成無序列表。

當您輸入無序列表時,展開第二個容器。在那個鼠標輸入功能裏面,當你輸入一個列表項時,我會有第二個事件,你填充第二個容器和stopPropogation。

您可能仍然可以用第一個容器上的mouseenter和另一個mouseenter在div.menu-item上執行此操作,但您的第一個容器具有額外的高度和寬度。

+0

他們都將在最後有相同的高度和寬度我只是用thos作爲指南,但你是什麼意思stopPrpogation可以給我所有我想要做的就是停止動畫 – ONYX 2011-05-05 03:17:24