簡體   English   中英

單擊多級下拉菜單不顯示菜單

[英]Clicking on multilevel dropdown not displaying the menu

我是網站中的多級下拉菜單,當我單擊主菜單時它顯示子菜單,但是當我單擊該子菜單時它向上滑動菜單而不顯示菜單,這是該代碼

 $('.main-menu ul li a').click(function(e) { if ($(this).next().hasClass('sub-menu')) { e.preventDefault(); $('.sub-menu').slideUp(); $('.main-menu ul li a').removeClass('active'); if ($(this).next('.sub-menu').is(':visible')) { $(this).removeClass('active'); $(this).next('.sub-menu').slideUp(); } else { $(this).addClass('active'); $(this).next('.sub-menu').slideToggle(); } } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="main-menu"> <ul id="menu-main-menu" class="menu"> <li class="menu-item"> <a href="http://localhost/barcoun/"><span>Home</span></a> </li> <li class="menu-item"> <a href="http://localhost/barcoun/about-us/"><span>About Us</span></a> </li> <li class="menu-item"> <a href="http://localhost/barcoun/contact-us/"><span>Contact Us</span></a> </li> <li class="menu-item"> <a href="#" class="menu-image-title-after"><span>Enrolments</span></a> <ul class="sub-menu" style="display: none"> <li class="menu-item"> <a href="#"><span>Enrolment</span></a> <ul class="sub-menu" style="display: none"> <li class="menu-item"> <a href="http://localhost/barcoun/enrollment-details-by-bar-association/"><span>Enrolment Details</span></a> </li> </ul> </li> </ul> </li> </ul> </div> 

我不確定這是否是您要尋找的行為,但是如果您刪除了調用slideUp的第一行代碼,它似乎運行良好。

 $('.main-menu ul li a').click(function(e) { if($(this).next().hasClass('sub-menu')){ e.preventDefault(); // Remove this line: //$('.sub-menu').slideUp(); $('.main-menu ul li a').removeClass('active'); if ($(this).next('.sub-menu').is(':visible')) { $(this).removeClass('active'); $(this).next('.sub-menu').slideUp(); } else { $(this).addClass('active'); $(this).next('.sub-menu').slideToggle(); } } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="main-menu"> <ul id="menu-main-menu" class="menu"> <li class="menu-item"><a href="http://localhost/barcoun/"><span>Home</span></a></li> <li class="menu-item"><a href="http://localhost/barcoun/about-us/"><span>About Us</span></a></li> <li class="menu-item"><a href="http://localhost/barcoun/contact-us/"><span>Contact Us</span></a></li> <li class="menu-item"><a href="#" class="menu-image-title-after"><span>Enrolments</span></a> <ul class="sub-menu"> <li class="menu-item"><a href="#"><span>Enrolment</span></a> <ul class="sub-menu"> <li class="menu-item"><a href="http://localhost/barcoun/enrollment-details-by-bar-association/" ><span>Enrolment Details</span></a></li> </ul> </li> </ul> </li> </ul> </div> 

只需擺脫這一行: $('.sub-menu').slideUp();

 $('.main-menu ul li a').click(function(e) { if ($(this).next().hasClass('sub-menu')) { e.preventDefault(); // $('.sub-menu').slideUp(); // <--- This is the culprit $('.main-menu ul li a').removeClass('active'); if ($(this).next('.sub-menu').is(':visible')) { $(this).removeClass('active'); $(this).next('.sub-menu').slideUp(); } else { $(this).addClass('active'); $(this).next('.sub-menu').slideToggle(); } } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="main-menu"> <ul id="menu-main-menu" class="menu"> <li class="menu-item"> <a href="http://localhost/barcoun/"><span>Home</span></a> </li> <li class="menu-item"> <a href="http://localhost/barcoun/about-us/"><span>About Us</span></a> </li> <li class="menu-item"> <a href="http://localhost/barcoun/contact-us/"><span>Contact Us</span></a> </li> <li class="menu-item"> <a href="#" class="menu-image-title-after"><span>Enrolments</span></a> <ul class="sub-menu" style="display: none"> <li class="menu-item"> <a href="#"><span>Enrolment</span></a> <ul class="sub-menu" style="display: none"> <li class="menu-item"> <a href="http://localhost/barcoun/enrollment-details-by-bar-association/"><span>Enrolment Details I</span></a> </li> <li class="menu-item"> <a href="http://localhost/barcoun/enrollment-details-by-bar-association/"><span>Enrolment Details II</span></a> </li> <li class="menu-item"> <a href="http://localhost/barcoun/enrollment-details-by-bar-association/"><span>Enrolment Details III</span></a> </li> </ul> </li> </ul> </li> </ul> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM