2012-03-03 67 views
0

我试图与jQuery的手风琴状的菜单,但它拒绝合作:http://jsfiddle.net/vrcpK/1/jQuery的.stop()打破后续动画

这里是我的JavaScript:

$('#submenu div.submenu').hover(function() { 
    $('.submenu-head', this).addClass('visible'); 

    $(this).siblings().each(function() { 
     $('div.submenu-body', this).stop(true).slideUp('slow'); 
     $('p.submenu-head', this).removeClass('visible'); 
    }); 

    $('div.submenu-body', this).stop(true).slideDown(500); 
}, function() { 
    $('.submenu-head', this).removeClass('visible'); 

    $('div.submenu-body', this).stop(true).slideUp('slow'); 
});​ 

当你将鼠标悬停在某个项目上两次,菜单就会死亡,并慢慢萎缩。之后,它通过冷静地揭示了三分之一的内容。

我怀疑这是我的.stop(true)调用的问题,但是我找不出任何其他方法来使菜单在将鼠标移到它上面后变成明胶。

任何帮助将不胜感激!

回答

2

好像高度设置为不管它是什么时候出来悬停...尝试正在重置高度自动当上滑完成...

$('div.submenu-body', this).stop().slideUp('slow', function() { 
    $(this).height('auto'); 
}); 
+0

这绝对是!非常感谢。 – Blender 2012-03-03 08:48:44