我想制作一个侧面菜单,并在单击 [重复] 时更改类

Posted

技术标签:

【中文标题】我想制作一个侧面菜单,并在单击 [重复] 时更改类【英文标题】:I want to make a side menu, and change the class while clicking [duplicate] 【发布时间】:2017-12-04 01:14:36 【问题描述】:

我想做一个侧边菜单,点击时改变类。

当我点击没有 class="active" 的“li”时,我希望 jquery 在空白处添加一个类

并将其从其他“li”中删除。我只想使用 html.ActionLink。
<div id="sidebar">
<ul class="nav nav-pills nav-stacked">
    <li>
        @Html.ActionLink("Home", "Index", "Home", new  @class = "ach" )
    </li>
    <li>
         @Html.ActionLink("About Us", "About", "Home", new  @class = "ach" )
    </li>
    <li>
        @Html.ActionLink("Contact Us", "Contact", "Home", new  @class = "ach" )
    </li>

</ul>

    javascript which i used is:



 $('.ach').on('click', function () 
    debugger;
    $('li').removeClass('active');
    $(this).parent().addClass('active');
);

【问题讨论】:

当你点击链接时,你会被重定向到另一个页面——在当前视图中设置类是没有意义的(你已经离开了) 但我有侧边菜单作为所有页面的布局。即使重定向到其他页面,侧边菜单也会出现。我希望此类更改发生在侧菜单上。 是的,我知道 - 但您已离开当前页面 - 您需要在您重定向到的页面中设置类,而不是当前页面! 好的,我明白你的意思,所以你能建议我解决这个问题吗? 阅读副本 【参考方案1】:
<div id="sidebar">
<ul class="nav nav-pills nav-stacked">
    <li>
        @Html.ActionLink("Home", "Index", "Home", new  @class = "ach",id="homeLink" )
    </li>
    <li>
         @Html.ActionLink("About Us", "About", "Home", new  @class = "ach",id="aboutUsLink" )
    </li>
    <li>
        @Html.ActionLink("Contact Us", "Contact", "Home", new  @class = "ach" ,id="contactUsLink")
    </li>

</ul>

 $('.ach').on('click', function (event) 
    debugger;
    $('li').removeClass('active');
    var id = event.target.id;
    $('#'+id).addClass('active');   

);

【讨论】:

这正是 OP 当前代码正在做的事情。建议您阅读问题中的 cmets。 这个解决方案对我不起作用。

以上是关于我想制作一个侧面菜单,并在单击 [重复] 时更改类的主要内容,如果未能解决你的问题,请参考以下文章

如何处理后退按钮android以退出应用程序并在首页中打开时关闭本机导航侧菜单

使用SwiftUI。单击后,“我的滑块/侧面菜单”会启动新视图,但单击按钮,现在所有选项均为'dead'

选择html元素时如何添加类[重复]

如何在侧面菜单离子 4 中获取数据

根据班级更改下拉菜单以匹配单击的链接

如何更改元素的 CSS 类并在单击时删除所有其他类