gpt4 book ai didi

jQuery - 单击菜单项时停止折叠式菜单关闭

转载 作者:行者123 更新时间:2023-12-01 01:26:05 25 4
gpt4 key购买 nike

单击子菜单链接时如何阻止 Accordion 菜单 ul.sub-menu 关闭?

当单击父项时, Accordion 会打开,但当单击其下一级的子菜单项时,它会再次关闭。

这是我的 HTML:

<ul class="menu">
<li><a href="#">parent 1</a>
<ul class="sub-menu">
<li><a href="#">1st child item</a></li>
</ul>
</li>
<li><a href="#">parent 2</a>
<ul class="sub-menu current-menu-parent">
<li><a href="#">2nd child item</a></li>
<li class="current-menu-item"><a href="#">3rd child item</a></li>
</ul>
</li>
<li><a href="#">parent 3</a>
<ul class="sub-menu">
<li><a href="#">4th child item</a></li>
</ul>
</li>
</ul>​​​​​​​​

这是我的 jquery:

jQuery(function($) {
$(".menu > li").children("a").attr('href', 'javascript:void(0)');
$('.sub-menu').hide();
$('.current-menu-parent').show();
$('.menu > li').click(function() {
$(this).find('ul').slideToggle('slow');
});
});​

最佳答案

为您准备的 Accordion ,

HTML:

<ul class="menu">
<li><a href="javascript:void(0)">parent 1</a>
<ul class="sub-menu">
<li><a href="#">1st child item</a></li>
</ul>
</li>
<li><a href="javascript:void(0)">parent 2</a>
<ul class="sub-menu current-menu-item">
<li><a href="#">2nd child item</a></li>
<li><a href="#">3rd child item</a></li>
</ul>
</li>
<li><a href="javascript:void(0)">parent 3</a>
<ul class="sub-menu">
<li><a href="#">4th child item</a></li>
</ul>
</li>
</ul>​​​​​​​​

CSS:

<style>
.sub-menu{
display:none;
}
.current-menu-item{
display:block;
}
</style>

JS:

rel = 0;


$('.sub-menu').hover(function(){ // findind mouse postion
rel = 1; // if mouse on submenu
}, function(){
rel = 0; if mouse out submanu
});
$('.menu > li').live("click",function(){


if(!$(this).hasClass("active")){ // if not already opened
$('.sub-menu').slideUp(); // hide all other submenu
$('.sub-menu',this).slideDown(); // show which your clicked
$(".menu > li").remove('active'); // remove all active class in li
$(this).addClass('active'); //adding active class which your clicked li
}
else{
if(rel==0){
$('.sub-menu').slideUp(); // if clicked already opend parent that will close
$(this).removeClass('active'); // remove all active class
}
else{

}
}
});

关于jQuery - 单击菜单项时停止折叠式菜单关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com