我有一个由div组成的菜单系统,我希望每当用户将鼠标悬停在菜单项上时动画左侧属性,但我需要外部div(黑色)元素随菜单项移动而展开从左到右我也希望div元素(.container)向后滑动并收缩外部div元素(这个黑色div是0宽度)我有一个基本的例子在jsFiddle完成它olny将元素移动到左
答案 0 :(得分:2)
完全理解有点麻烦,但这是你的意思吗?
答案 1 :(得分:1)
如果我可以稍微改写你的html,我会把每个.menu-item
放到一个无序的列表中。
当您将鼠标放入无序列表时,将展开第二个容器。在mouseenter函数中,当你鼠标输入一个列表项时,我会有第二个事件,你填充第二个容器和stopPropogation。
你可能仍然可以在第一个容器上使用mouseenter,在div.menu-item
上使用另一个mouseenter,但是你的第一个容器有额外的高度和宽度。
答案 2 :(得分:0)
你应该能够通过让代码不在最后一个.content上执行来修复left is null问题,如下所示:
$('.container').not(':last').find('.menu-item').mouseenter(function () {
这不适用于绿框内的菜单项。
对于重新展示的问题,我会改变你的展示方式。不要将盒子从另一个盒子后面滑出,你可以将它放在你想要它最终的位置并隐藏它,然后你可以使用:
.animate({width: 'show'})
这将产生类似的滑动效果。
那个,或者类似于我对你的另一个问题的回答,只是没有我之前的崩溃: