[英]Jquery expand and collapse menu is not working
我正在使用側邊欄菜單導航,當用戶單擊菜單時該導航會展開和折疊。 最重要的是,如果加載頁面時子菜單上的鏈接處於活動狀態,我希望菜單保持展開狀態。
這是我現在正在處理的代碼示例。 有人可以幫我檢查代碼中的問題嗎?
jQuery(document).ready(function(e) { { var m = e("ul.menu li.sidebar ul.sub-menu"); e("li") } e("ul.menu > li.sidebar > a").click(function(e) { e.preventDefault() }), e(document).mouseup(function(i) { var n = e("li.sidebar"); n.is(i.target) || 0 !== n.has(i.target).length || m.hide("fast") }); });
.sidebar { padding: 0 !important; margin-top: 2%; } .sidebar a { background-color: #122842; padding: 3%; color: white !important; } .sidebar .sidebar-submenu a { color: #6e6e6e !important; background-color: #e1ecf1 !important; display: block; } .sidebar .current-menu-item a { color: #22374f !important } .sidebar .sub-menu { display: none; } .current-menu-ancestor .sub-menu { display: block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <ul class="menu "> <li class="sidebar current-menu-ancestor"><a href="#">Menu A ▶</a> <ul class="sub-menu"> <li class="sidebar-submenu current-menu-item"><a href="a.com/menu1/">submenu 1</a> </li> <li class="sidebar-submenu current-menu-item"><a href="a.com/menu1/#sectionb">submenu 2</a> </li> <li class="sidebar-submenu"><a href="a.com/menu2">submenu 3</a> </li> </ul> </li> <li class="sidebar current-menu-ancestor"><a href="#">Menu B ▶</a> <ul class="sub-menu"> <li class="sidebar-submenu current-menu-item"><a href="a.com/menu1/#sectionc">submenu 4</a> </li> <li class="sidebar-submenu"><a href="a.com/menu2/#sectionb">submenu 5</a> </li> <li class="sidebar-submenu"><a href="a.com/menu3">submenu 6</a> </li> </ul> </li> <li class="sidebar"><a href="#">Menu C ▶</a> <ul class="sub-menu"> <li class="sidebar-submenu"><a href="a.com/menu4">submenu 7</a> </li> <li class="sidebar-submenu"><a href="a.com/menu5">submenu 8</a> </li> </ul> </li> </ul>
這些是我想要實現的行為:
我現在遇到的問題是:
當我用下面的代碼替換jQuery時,該菜單是可單擊的,並且在任何子菜單處於活動狀態時會自動展開,但是該子菜單是不可單擊的(不打開鏈接)
jQuery(document).ready(function(e){ jQuery('.sidebar a').click(function(e){ e.preventDefault(); if (jQuery(('.sidebar').children('.sub-menu:first').is(':visible')) { jQuery(('.sidebar').children('.sub-menu:first').hide(); } else { jQuery(('.sidebar').children('.sub-menu:first').show(); }
}); });
先感謝您!
請在jquery之后在您的腦海中添加jquery cookie庫
<script src="path/to/Scripts/jquery_cookie.js" type="text/javascript"></script>
檢查此以獲取更多信息stack-cookie-is-not-function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.