問題は、外側のクリックでメニューを上にスライドする関数が、トリガー クリックでメニューを下にスライドする関数の直後に実行されることです (そのため、クリック メニューが下にスライドしてからすぐに上にスライドします)。それの何が問題なのですか?
$(document).ready(function(){
// build a variable to target the #menu div
var menu = $('#menu')
// bind a click function to the menu-trigger
$('#menu-trigger').click(function(event){
event.preventDefault();
// if the menu is visible slide it up
if (menu.is(":visible"))
{
menu.slideUp(400);
}
// otherwise, slide the menu down
else
{
menu.slideDown(400);
}
});
$("body").not('#menu, #menu-trigger').click(function(event) {
event.preventDefault();
if (menu.is(":visible"))
{
menu.slideUp(400);
}
});
}))