我有一個動畫側邊欄,當用戶單擊漢堡按鈕時出現。 這裏是結構:當單擊頁面中的任意位置時隱藏側邊欄
$('#nav-toggle').click(function() {
if($('#nav-toggle').hasClass('active')){
$('.menu').animate({
right: "0px"
}, 200);
}else{
$('.menu').animate({
right: "-285px"
}, 200);
}
});
.menu{
right:-285px;
height:100%;
position: fixed;
width: 285px;
z-index: 1;
background-color: #111111;
}
.menu ul {
border-top: 1px solid #636366;
list-style: none;
margin: 0;
padding: 0;
}
.menu li {
border-bottom: 1px solid #636366;
font-family: 'Open Sans', sans-serif;
line-height: 45px;
padding-bottom: 3px;
padding-left: 20px;
padding-top: 3px;
}
.menu li a{
color:white;
}
<div class="menu">
<!-- Menu -->
<ul>
<li><a href="#">About</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Help</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
其實,我們可以通過點擊#nav-toggle
元素打開菜單,並通過單擊此元素上也將其關閉。我想讓用戶通過點擊頁面中的任何位置來關閉此菜單。 我該怎麼做?我在if語句中嘗試使用e.preventDefault();
,但它不起作用。
謝謝!
感謝您的示例,它完美地與良好的行爲!謝謝! :) –