【发布时间】:2019-04-17 15:17:47
【问题描述】:
这是我的代码
$(function(){
$("li div.main-section").addClass("active");
$('li > div > a').on('click',function(event){
$('li > div').removeClass("active");
$(this).closest('div').addClass("active");
});
$('li > div > .dropdown-arrow').on('click',function(event){
event.preventDefault()
$(this).closest('li').find('ul').first().toggle(300);
});
});
ul{
list-style:none;
}
.dropdown-main li .dropdown-main {
display: none;
}
.dropdown-main .active{
background-color: rgba(0,201,255,0.5);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<ul class="dropdown-main" >
<li class="dropdown" >
<div class="main-section">
<button class="dropdown-arrow">+</button>
<a href="" ><span>Main Menu</span></a>
</div>
<ul class="dropdown-main">
<li class="dropdown">
<div>
<button class="dropdown-arrow">+</button>
<a href="" ><span>Sub Menu</span></a>
</div>
<ul class="dropdown-main">
<li class="dropdown">
<div >
<button class="dropdown-arrow">+</button>
<a href="" ><span>Child Menu</span></a>
</div>
<ul class="dropdown-main">
<li class="dropdown">
<div >
<button class="dropdown-arrow">+</button>
<a href="" ><span>Grand Child Menu</span></a>
</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
说明------------------
案例:1 默认情况下,主菜单颜色为活动状态(蓝色)。
案例:2 单击“+”按钮时,下拉菜单需要展开和折叠。
案例:3 点击字符串时(如主菜单、子菜单、子菜单..Garnd 子菜单)需要更改活动状态。
案例:4 如果单击父(子菜单)“+”按钮时子(子菜单)字符串处于活动状态,则清除折叠(子菜单)并删除活动类状态并将活动类颜色添加到父(子菜单)div。
案例:5 如果单击父(子菜单)“+”按钮时子(子菜单)字符串未处于活动状态,则清除折叠(子菜单)并保持活动类状态和父(主菜单)div。
欢迎帮助
【问题讨论】:
-
您有什么具体问题吗?目前,这是一个需求列表,而不是您遇到问题的逻辑问题。
-
请看我的代码,我已经完成了一半,但无法更改活动状态
-
如果您有任何建议,请。
标签: javascript jquery html css