我已經構建了一些導航(用於移動網絡),它使用jQuery中的toggleClass方法來隱藏和顯示菜單。點擊'MENU'圖標/按鈕切換菜單div的開關狀態'.active'(display:hidden)。jQuery:點擊外部元素「關閉」菜單,使用toggleClass出現
我一直在拼命尋找一種方法,通過點擊它的外部(頁面上的任何位置)來隱藏菜單。目前,關閉菜單的唯一方法是再次單擊菜單按鈕,將div切換回.active類(隱藏)。
我一直沒有找到任何類似的例子與解決方案如何完成。
$(document).ready(function() {
$(".toggle-nav").click(function(e) {
$(this).toggleClass("active");
$(".menu ul").toggleClass("active");
e.preventDefault();
});
\t
\t
});
/* .toggle-nav is the menu icon/button. */
.toggle-nav {
\t font-size: 20px;
\t margin-left: 7px;
}
/* The .active class hides the menu by default.
When .toggle-nav (menu icon) is clicked, .active class is 'turned off',
revealing the menu. When clicked again, it hides the menu. */
.menu ul.active {
\t display: none; \t
}
.menu ul {
\t width: 10em;
\t position: absolute;
\t top: 60%;
\t padding: 10px 18px;
\t background: #e6e5e4;
}
.menu li {
\t margin: 5px 0px 5px 0px;
\t float: none;
\t display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="menu">
<a class="toggle-nav" href="#">MENU</a>
<ul class="active">
<li><a href="#">Item One</a></li>
<li><a href="#">Item Two</a></li>
<li><a href="#">Item Three</a></li>
</ul>
</div>