2011-05-05 200 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