gpt4 book ai didi

javascript - 下拉子菜单选择

转载 作者:行者123 更新时间:2023-11-28 17:08:55 26 4
gpt4 key购买 nike

我的Javascript

var selectmenu = function(index, sub){
$('.main-navigation-menu li:nth-child('+index+')').addclass('active');
}

在我看来,有两个 li 标签用于选择主菜单和子菜单;所以由于上面的 JS,它总是选择第一个主菜单和第一个子菜单;即使单击第一个主菜单的第二个子菜单......任何人都知道如何纠正这种行为?在这里,我想使用“sub”变量并执行如下操作:

$('.sub-menu li:nth-child('+index+')').removeClass('active');
$('.sub-menu li:nth-child('+sub+')').addClass('active');

HTML

<ul class="main-navigation-menu ">
@foreach (var menu in mainmenu) {
var sublist = userContext.Menus.Where(m => m.Id == menu.Id);
if (sublist.Count == 0){
<li class="active open">
<a href="@Url.Content(menu.MenuUrl)">
<span class="title"> @menu.Name </span>
<span class="selected"></span>
</a>
</li>
}
else {
<li class="main-menu-selection">
<a href="@menu.MenuUrl">
<span class="title">@menu.Name</span>
<i class="fa fa-chevron-down pull-right"></i>
<span class="selected"></span>
</a>
@if (sublist.Count > 0) {
<ul class="sub-menu">
@foreach (var sub in sublist) {
<li class="sub-menu-selection">
<a href="@Url.Content(sub.MenuUrl)">
<span class="title"> @sub.Name </span>
</a>
</li>
}
</ul>
}
</li>
}
count++;
}
</ul>

最佳答案

尝试使用 stopPropagation:

$('.main-navigation-menu').on('click', '.sub-menu-selection', function(e){
var index;

e.stopPropagation();

$('.min-navigation-menu .active').removeClass('active');
$(e.currentTarget).addClass('active');
});

更多信息 here

关于javascript - 下拉子菜单选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656888/

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