2013-06-23 206 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");