2013-06-23 209 views
4

基于此演示:http://webdesignerwall.com/demo/mobile-nav/这是我的代码。jquery手机菜单关闭后,我点击一个菜单项

<script type="text/javascript"> 
    jQuery(document).ready(function($){ 

     /* prepend menu icon */ 
     $('#nav-wrap').prepend('<div id="menu-icon"><img id="logo" src="<?php echo site_url(); ?>/wp-content/themes/blue-and-grey/images/mobileimages/hme_btn.png" /></div>'); 

     /* toggle nav */ 
     $("#menu-icon").on("click", function(){ 
      $("#nav").slideToggle(); 
      $(this).toggleClass("active"); 
     }); 

    }); 
    </script> 

我需要的是在菜单中的“关闭”后,我单击菜单项,因为它是一个单页的网站,我不希望它保持打开我点击后。我怎么做?

非常感谢你!

+0

? – krishgopinath

+0

no regular jquery – valerio0999

回答

3

添加一个额外的事件来实现它。您可能引发的#menu-iconclick点击一些菜单项时:

$("#nav").on("click", "li", function() { 
     $("#menu-icon").click(); 
     //or $("#nav").slideToggle(); 
}); 

演示:http://jsfiddle.net/hungerpain/RtMNj/2/

+0

非常感谢你这么多!!!!! :) – valerio0999

+0

@omegaiori肯定np :)一定要也投票,如果你认为这将有助于未来的游客:) – krishgopinath

+0

唯一的问题是效果停留在桌面布局。 ($(window).width()<768){(“#nav”)。on(“click”,“li”,function(){“#menu-icon” ).click(); //或$(“#nav”)。slideToggle(); }); \t} 哪些作品..我不喜欢这是“激活”只在页面重新加载。有没有一种方法可以使它在浏览器窗口调整大小时起反应? – valerio0999

0

万一有人偶然发现了这个问题,你用jQuery Mobile一起使用Primefaces Mobile,这里是如何我能够做出解决方案,因为这里接受的解决方案并没有为我解决。

基本上我只是把一个“隐形”a标签,这将是触发弹出关闭的标签。当用户点击另一个菜单项时,它将执行一个针对该“隐形”标签的javascript命令。

<ul data-role="listview" data-theme="c" data-divider-theme="a"> 
        <li data-role="list-divider">Menu</li> 
        <li data-icon="user"> 
         <p:commandLink id="show-member-menu" styleClass="bordercolorddd" 
          value="Members" data-rel="back" onclick="$('#closer').click();" 
          action="#{editROrgUnit.initializeSubordinateList}" 
          update=":main:subordlist" process=":main:subordlist"/> 
        </li> 
        <li class="separator"><p:separator/><a id="closer" href="#" class="closerclass ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back"/></li> 
        <li data-icon="power"> 
         <p:commandLink value="Logout" action="#{loginBean.logout}" 
          styleClass="bordercolorddd" 
          ajax="true" partialSubmit="true" 
          process="@this" /> 
        </li> 
       </ul> 
0

你可以使用jQuery Mobile的u使用$("#nav").panel("close");