2012-03-03 68 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