2013-05-22 203 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)");