【问题标题】:set css active class for current menu为当前菜单设置 css 活动类
【发布时间】:2013-12-14 13:48:52
【问题描述】:

我尝试编写一个函数来为菜单设置当前活动,但我的菜单需要 2 个字段

class="current" 和 class="current selectedLava"

我的菜单:

<nav>
<ul class="sf-menu">
    <li><a href="Default.aspx">Home</a>
        <ul>
            <li><a href="About.aspx">Home Cinema</a></li>
        </ul>
    </li>
    <li><a href="Home_Movie.aspx">Movie</a>
        <ul>
            <li ><a href="List_Movie.aspx">List Movie</a></li>
            <li ><a href="abc.aspx">List</a></li>
    </li>

</ul><!-- end menu -->

我的意思是当我访问 Home_Movie.aspx 时,它将是

        <li class="current selectedLava"><a href="Home_Movie.aspx">Movie</a>
        <ul>
            <li><a href="List_Movie.aspx">List Movie</a></li>
            <li ><a href="abc.aspx">List</a></li>
    </li>

当我访问 List_Movie.aspx 时,它将是

        <li class="current selectedLava"><a href="Home_Movie.aspx">Movie</a>
        <ul>
            <li class="current"><a href="List_Movie.aspx">List Movie</a></li>
            <li ><a href="abc.aspx">List</a></li>
    </li>

容易理解:

1:http://s30.postimg.org/cx4ks87y9/image.png

2:http://s30.postimg.org/p09wfsj0h/image.png

【问题讨论】:

  • 您能否尝试在jsfiddle.net 中重现您的问题,以便我们更轻松地提供帮助?
  • 类“selectedLava”的作用是什么?
  • 嗨idlerboris,你的意思是什么,我听不懂你。对不起,我的英语不好:(

标签: jquery asp.net css asp.net-mvc master-pages


【解决方案1】:

我认为您将 highlightActiveMenuItem 方法替换为:

highlightActiveMenuItem = function () {
    var url = window.location.pathname.substr(6);    
    $('nav li a[href="' + url + '"]').parent().addClass('current');
    if ($('nav li a[href="' + url + '"]').parent().parent().hasClass('sf-menu'))
    {
      $('nav li a[href="' + url + '"]').parent().addClass('selectedLava');
    }
    else
    {
      $('nav li a[href="' + url + '"]').parent().parent().parent().addClass('current selectedLava');  
    }
}

或者对顶级菜单项使用特定的类来避免三重parent()

【讨论】:

  • 谢谢,如果他们访问下面的页面,我该如何设置 class="current selectedLava"
  • @KevinHuynh,您要添加 2 个课程吗?使用.addClass('current selectedLava')
  • 你能解释得更清楚吗,是的,我想添加到两个类中
  • 如果你想给li添加2个类,那么使用$('nav li a[href="' + url + '"]').parent().addClass('current selectedLava');
  • @KevinHuynh,我更新了我的答案。如果我正确理解你的问题,那么这将是工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多