gpt4 book ai didi

jquery - 向 jQuery 菜单添加加号/减号

转载 作者:行者123 更新时间:2023-11-28 00:49:35 28 4
gpt4 key购买 nike

我为一个简单的菜单开发了以下代码:

$(document).ready(function () {
$(".main_menu_01, .main_menu_02").on('click', function () {

var $panel = $(this).next('.panel');
if ($panel.is(':visible')) {
$panel.add($panel.find('.panel')).slideUp(500).removeClass('active');
} else {
$panel.slideDown(500).addClass('active');
}

});
});
.panel{ 
width: 100%;
padding-left: 0%;
font-weight: bold;
overflow: hidden;
display:none;
}

.main_menu_01 {
padding-left: 1%;
background: blue;
}

.main_menu_02 {
padding-left: 5%;
background: lime;
}

.sub_menu_01{
padding-left: 1%;
background: lime;
}

.sub_menu_02{
padding-left: 10%;
background: lime;
}


.main_menu_01:before, .main_menu_02:before {
content:'+';
width:20px;
display:inline-block;
}

.main_menu_01.active:before, .main_menu_02.active:before {
content:'-';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<li class="main_menu_01"> 1.0 Main Menu </li>
<ul class="panel">

<li class="sub_menu_01"> 1.1 Sub Menu </li>

<li class="main_menu_02"> 1.2 Sub Menu </li>
<ul class="panel">

<li class="sub_menu_02"> <a> 1.2.1 Sub Menu </a> </li>
<li class="sub_menu_02"> <a> 1.2.2 Sub Menu </a> </li>

</ul>

</ul>

目前一切正常。您还可以在 JSFiddle here 中找到代码.


如您所见,我想根据菜单是否打开向 main_menu 按钮添加 +- 符号。因此,我尝试使用 CSS 中的 before 代码。但是,目前 + 符号仍然存在,尽管菜单已打开。

我不确定这个问题是否是由 jQuery 代码引起的。但是,我需要此 jQuery 代码来关闭/打开整个菜单,以防单击按钮 main_menue_01

您是否知道我需要更改代码中的哪些内容才能拥有 jQuery 代码和 +/- 符号提供的完整功能?

最佳答案

您需要在横幅上设置 active 类,即发生点击的位置。从那里您可以根据状态更改样式,例如

$(document).ready(function () {
$(".main_menu_01, .main_menu_02").on('click', function () {
var $panel = $(this).next('.panel');
if ($panel.is(':visible')) {
$panel.add($panel.find('.panel')).slideUp(500);
$(this).hasClass('main_menu_01') ? $('.menu').removeClass('active') : $(this).removeClass('active');
} else {
$panel.slideDown(500);
$(this).addClass('active');
}
});
});
.panel{ 
width: 100%;
padding-left: 0%;
font-weight: bold;
overflow: hidden;
display:none;
}

.main_menu_01 {
padding-left: 1%;
background: blue;
}

.main_menu_02 {
padding-left: 5%;
background: lime;
}

.sub_menu_01{
padding-left: 1%;
background: lime;
}

.sub_menu_02{
padding-left: 10%;
background: lime;
}

.main_menu_01:before, .main_menu_02:before {
content:'+';
width:20px;
display:inline-block;
}

.main_menu_01.active:before, .main_menu_02.active:before {
content:'-';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<li class="menu main_menu_01"> 1.0 Main Menu </li>
<ul class="panel">

<li class="sub_menu_01"> 1.1 Sub Menu </li>

<li class="menu main_menu_02"> 1.2 Sub Menu </li>
<ul class="panel">
<li class="sub_menu_02"> <a> 1.2.1 Sub Menu </a> </li>
<li class="sub_menu_02"> <a> 1.2.2 Sub Menu </a> </li>
</ul>
</ul>

关于jquery - 向 jQuery 菜单添加加号/减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53324915/

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