2012-01-10 4 views
4

부모를 클릭 할 때 <li>이 JQuery를 사용하여 아래로 슬라이드하는 JQuery 탐색 기능이 있습니다. 두 번째 클릭하면 탐색이 위로 이동합니다. 내가 가지고있는 문제는 고객이 화면의 다른 곳을 클릭하면 뒤로 미끄러지기를 원한다는 것입니다. 즉 빈 공백을 클릭하면 네비게이션을 접을 수 있습니다.Jquery : slideUp 문제를 클릭하십시오.

아이디어가 있으십니까?

$('#menu-flag-menu > li > a').click(function(e) {e.preventDefault();}); 


$("#menu-flag-menu li a").click(function(){ 

    // close all opened sub menus 
    $("ul", $(this).parent().siblings()).stop(true,true).slideUp(); 

    var ul = $(this).next("ul");  
    ul.stop(true,true).slideToggle('fast'); 
}); 

답변

3

이 작동합니다 : 여기

은 JQuery와입니다

$(document).click(function (e) { 

    // if we click on anything other than the navigation menu 
    // or it's descendants then slide up the menu 
    if(e.target.id !== "menu-flag-menu" 
     && !$(e.target).closest("#menu-flag-menu").length) { 
     $(".sub-menu").stop().slideUp(); 
    } 
}); 
+0

안녕하세요,이 기능은 축소되면 내비게이션이 완전히 숨겨집니다. – Guy

+0

죄송합니다. UL을 UL 내에서 지정하는 것을 잊었습니다. 고정 :). – karim79

+0

아쉽게도 마찬가지입니다. 탐색 기능이 열려 있는지 여부에 관계없이 화면의 아무 곳이나 클릭하면 탐색 기능이 사라집니다. – Guy

0

내 조언 메뉴를 닫으려면 메뉴와하는 MouseLeave 이벤트를 엽니 다 .mouseenter 이벤트를 사용하려고하는 것 .