我正在嘗試為行動視圖建立一個jQuery下拉式選單。我對jQuery還不熟悉,我使用Toggle來隱藏和顯示子選單。我的問題是,當我點擊一個選單項目時,其他子選單不會自動關閉。例如,如果我點擊menutwo,我希望menuone會自動關閉。我該如何做到這一點?請幫忙。
jQuery(document).ready(function($) { $(".menuone").click(function() { $(".submenuone").toggle(200); }); $(".menutwo").click(function() { $(".submenutwo").toggle(200); }); $(".menuthree").click(function() { $(".submenuthree").toggle(200); }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul id="menu-menu" class="menu dropdown-menu"> <li class="menuone"><a href="#">关于我们</a> <ul class="submenuone"> <li>公司概况</a> </li> </ul> </li> <li class="menutwo"><a href="#">解决方案</a> <ul class="submenutwo"> <li>应收账款融资和催收</li> <li>工人补偿融资></li> </ul> </li> <li class="menuthree"><a href="#">提供者类型</a> <ul class="submenuthree"> <li>医生</a> </li> <li>药房</a> </li> </ul> </li> </ul>
P粉2074830872023-09-17 00:28:15
Made it finally.
Here is my answer
jQuery(document).ready(function($) { $(".menuone").click(function() { $(".submenuone").toggle(200); $(".submenutwo, .submenuthree").hide(200); // Hide other submenus }); $(".menutwo").click(function() { $(".submenutwo").toggle(200); $(".submenuone, .submenuthree").hide(200); // Hide other submenus }); $(".menuthree").click(function() { $(".submenuthree").toggle(200); $(".submenuone, .submenutwo").hide(200); // Hide other submenus }); });
P粉1460805562023-09-17 00:17:27
我會使用事件委託,並找到其他的UL並關閉它們。
jQuery(document).ready(function($) { $("#menu-menu").on("click", "> li", function () { $("#menu-menu > li").not(this).find("ul").hide(200); $(this).find("ul").toggle(200); }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul id="menu-menu" class="menu dropdown-menu"> <li class="menuone"><a href="#">关于我们</a> <ul class="submenuone"> <li>公司概况</a> </li> </ul> </li> <li class="menutwo"><a href="#">解决方案</a> <ul class="submenutwo"> <li>应收账款融资和催收</li> <li>工人赔偿融资></li> </ul> </li> <li class="menuthree"><a href="#">供应商类型</a> <ul class="submenuthree"> <li>医生</a> </li> <li>药房</a> </li> </ul> </li> </ul>