2013-05-22 204 views
0

我做了一個側面導航菜單,從左到右滑動點擊一個按鈕。jquery關閉點擊外部

$(document).ready(function(){ 
    $("#nav-toggle").click(function(){ 
    $("#page").toggleClass("margin"); 
    }); 
}); 

當'#nav-toggle'按鈕被點擊''頁面'的邊距從0px​​增加到600px。

.margin { 
margin-left:600px;width:380px;overflow-x:hidden 
} 


<div id="side-menu"> 

<nav> 
    <a class="nav-links" href="#home">home</a> 
    <a class="nav-links" href="#about">about</a> 
    <a class="nav-links" href="#contact">contact</a> 
</nav><!-- end of nav --> 

如何將我通過點擊它外面關閉菜單。

回答

4
$('body').on('click',function(event){ 
    if(!$(event.target).is('#nav-toggle')){ 
    $("#page").removeClass("margin"); 
    } 
}); 
+0

感謝那個完美。 – sam

+0

不客氣! –

+0

如果我點擊頁面上的任何位置,它也會打開菜單。我將如何改變? – sam

0

容易...使用委託了說明: http://api.jquery.com/on/「檢查直接和委託的事件

基本上我說的話是什麼?當用戶點擊文檔和源代碼任意是不是#側面菜單內:沒有(#側面菜單)從#NAV-切換刪除類保證金

$(document).on({ 
    click: function(){ 
     $("#nav-toggle").removeClass("margin") 
    } 
},":not(#side-menu)");