2013-08-27 3 views
1

mmenu jquery 플러그인을 사용하여 상위 링크에서 하위 메뉴를 열려고하고 있는데 거의 가지고 있지만 한 번 하위 메뉴를 열면이 메뉴가 닫힙니다. 왼쪽).Jquery Mmenu : 하위 메뉴 열기

<nav data-role="navbar" data-iconpos="left" id="leftMenu"> 
    <ul> 
     <li><a id="a_home" href="/" >Home</a></li> 
     <li><a id="a_what" href="/" >What to do</a></li> 
     <li> 
      <a id="a_guides" href="#guidesSubmenu" onclick="$('#leftMenu ul#guidesSubmenu').trigger('open.mm');" >Guides</a> 
      <ul id="guidesSubmenu"> 
       <li><a href="/">Beer Guide 2013</a></li> 
       <li><a href="/">Bar Guide 2013</a></li> 
       <li><a href="/">Cheap Eats 2013</a></li> 
      </ul> 
     </li> 
     <li> 
      <a id="a_sections" href="#" >Sections</a> 
     </li> 
    </ul> 
</nav> 

그래서, 나는 가이드 링크를 클릭하면 하위 메뉴가 열립니다뿐만 아니라 오른쪽으로 애니메이션, 메인 메뉴를 닫습니다

나는 이것을 얻었다. 하위 메뉴를 열려면 올바른 방법을 아는 사람이 있습니까?

이것은 플러그인 페이지입니다. http://mmenu.frebsite.nl/ 간단한 jquery 자바 스크립트가 아닙니다.

감사합니다.

+0

다음은 순수 CSS 솔루션입니다. http://jsfiddle.net/ninty9notout/mTMh2/ – ninty9notout

+0

저에게 효과가 없습니다. 감사합니다. – msassa

+0

바이올린이 효과가 없었습니까? 또는 귀하의 사이트에서 시도한 적이 있는데 작동하지 않았습니까? – ninty9notout

답변

0
$('li').hover(function(){ 

    $('ul',this).slideDown(); 

},function(){ 

    $('ul',this).slideUp(); 

}); 

선택기를 자신의 li 태그 클래스 이름으로 변경하십시오. 메소드를 전환 할 수도 있습니다.

$('#li').toggle(function() { 
    $('ul',this).slideDown(); 
}, function() { 
    $('ul',this).slideUp(); 
}); 
+0

죄송합니다. mmenu 플러그인을 사용하고 있습니다. 그래서, 이것은 옳지 않습니다. 감사. – msassa

3

jquery.mmenu 플러그인은 자동으로 내부에있는 모든 LI에 "open-submenu"버튼을 추가합니다. 는 A가 실제로 사용 페이지에 연결하지 않는 경우, 당신이 할 필요는 SPAN로 교체입니다 :

<ul> 
    <li><span>Guides</span> 
     <ul> 
      <li><a href="/">Beer Guide 2013</a></li> 
     </ul> 
    </li> 
</ul> 
+0

이것은 작동하지 않습니다. 이것을 mmenu로하면,> simbol로 오른쪽에 링크가 추가되지만 Guides 단어는 하위 메뉴를 열지 않습니다. – msassa

+0

예제에 표시된대로 마크 업을 사용하면 효과가 있습니다. 웹 사이트의 예를 살펴보십시오. 오른쪽의 "연락처"아이콘을 클릭하십시오. – Fred

+0

예, 알겠습니다. 그러나 저를 위해 그런 식으로 일하지 마십시오. 그러나 나는 그것을 다른 방법으로 고쳤다. 감사합니다. – msassa

0
우리는 오늘이 동일한 시나리오로 실행, 연구의 좋은 금액은 사용 후

다음 해결책 (귀하의 상황에 맞게). 그들은 요소를 변경했기 때문에 요소의 데이터 속성이 명확하게 지원되지 않으므로 초기화를 JavaScript로 옮겼습니다. 당신은 리튬 클릭하면 그것은 mmenu을 닫지 않도록 거짓과 가까운 옵션은 만드는 지정

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#leftMenu").mmenu({ 
     onClick: { 
      close: false 
     } 
    }); 
}); 
</script> 

및 :

<nav data-role="navbar" data-iconpos="left" id="leftMenu"> 
    <ul> 
     <li><a id="a_home" href="/" >Home</a></li> 
     <li><a id="a_what" href="/" >What to do</a></li> 
     <li> 
      <a id="a_guides" href="#guidesSubmenu" onclick="$('#leftMenu ul#guidesSubmenu').trigger('open.mm');" >Guides</a> 
      <ul id="guidesSubmenu"> 
       <li><a href="/">Beer Guide 2013</a></li> 
       <li><a href="/">Bar Guide 2013</a></li> 
       <li><a href="/">Cheap Eats 2013</a></li> 
      </ul> 
     </li> 
     <li> 
      <a id="a_sections" href="#" >Sections</a> 
     </li> 
    </ul> 
</nav> 

자바 스크립트 :

HTML (변경되지 않은) onclick 이벤트 핸들러가 하위 메뉴 항목을 열 수 있습니다.