2013-04-16 3 views
2
나는이 혀에서 내 자신의 반응 탐색을하고

을 최소화 될 때,/닫기를 열려면 탐색을 얻는 방법 : http://jsfiddle.net/2Pqch/응답 탐색 - 브라우저가

창이 최소화 : http://www.hongkiat.com/blog/responsive-web-nav/

이 내 바이올린입니다 btn을 열거 나 닫으려면 버튼을 클릭하거나 탐색 바깥을 클릭하여 닫을 수 있어야합니다.

이 기능을 어떻게 추가 할 수 있습니까?

$(function() { 
      var pull  = $('.btn'); 
       menu  = $('nav ul'); 
       menuHeight = menu.height(); 

      $(pull).on('click', function(e) { 
       e.preventDefault(); 
       menu.slideToggle(); 
      }); 

      $(window).resize(function(){ 
       var w = $(window).width(); 
       if(w > 320 && menu.is(':hidden')) { 
        menu.removeAttr('style'); 
       } 
      }); 
     }); 

답변

0

당신은 같은 것을 할 수 있습니다 : 여기

는 스크립트입니다

http://jsfiddle.net/2Pqch/1/

내가 품어에서 이벤트를 중지 e.stopPropagation();을 추가하고 또한

 $(document).on('click',function(e){ 
      if(!menu.is(":hidden")){ 
       menu.slideToggle(); 
      } 
     }); 
추가

메뉴가 표시되는지 확인합니다. 가려져 있지 않거나 숨겨져 있지 않은 경우 document을 클릭하면 메뉴가 다시 닫힙니다. 이를 수행하는 더 좋은 방법은 document의 아무 곳이나 클릭하면 내용 컨테이너를 닫을 것이기 때문에 콘텐츠 컨테이너를 대상으로 지정하는 것입니다.

+0

멋진 남자입니다, 난 그냥이 – DWTBC

+0

난 그냥 내 아이폰이이 테스트와 외부의 클릭 이벤트가 작동하지 않는 것 시도 할 것이다? – DWTBC

+0

외부의 click 이벤트가 제대로 작동하지 않습니다. 그것은 또한 메인 네비게이션을 닫습니다. – DWTBC

0

탐색을 클릭하거나 창에서 클릭하면 탐색, 탐색을 클릭하면 탐색을 토글합니다.
그렇지 않으면 Nav가 열려 있습니다. & 클릭하면 탐색이 토글됩니다.

      데모http://jsfiddle.net/2Pqch/2/

var clickedOnMenu = false;    

$(pull).on('click', function(e) { 
    e.preventDefault(); 
    clickedOnMenu = true;      
     }); 

    $(window).on('click', function(e) { 

     if(clickedOnMenu) 
     { 
      menu.slideToggle(); 
      clickedOnMenu = false; 
     } 
     else if ((menu).is(":visible")) { 
     menu.slideToggle(); 
     } 
    }); 
+0

클릭하면됩니다. 외부 이벤트가 Iphone에서 작동하지 않는 것 같습니까? ... 해결 방법이 있습니까? – DWTBC

+0

그리고 최소화되지 않은 상태에서 메뉴를 닫습니다. – DWTBC

+0

예, 문제가 발생했습니다. – VenomVendor

관련 문제