javascript – 使用materialize css在不同的页面上显示不同的侧面导航

我正在创建一个简单的页面,我想在转到另一个页面时显示不同的side-nav类.我正在使用materialize css并且我创建了一个自定义css来覆盖side-nav类,现在我想在转到另一个页面时显示正常的side-nav.有没有更好的方法呢?我需要你们的一些建议,这将是一个很大的帮助.

示例HTML

<nav class="white lighten-1" role="navigation">
  <div class="nav-wrapper container"><a id="logo-container" href="#" class="brand-logo center"></a>
    <ul class="right hide-on-med-and-down">
     <div class="right">
       <li><a class="waves-effect waves-light btn grey lighten-1">Login</a></li>
       <li><a class="waves-effect waves-light btn red lighten-1">Register</a></li>
     </div>
    </ul>

    <ul id="nav-mobile" class="side-nav fixed">
     <div class="list-group">
      <a class="list-group-item" href="#"><i class="fa fa-user fa-fw" aria-hidden="true"></i>&nbsp; User
      </a>
      <a class="list-group-item" href="#"><i class="fa fa-search fa-fw" aria-hidden="true"></i>&nbsp; Search
      </a>
    </div>
    </ul>
    <a href="#" data-activates="nav-mobile" class="button-collapse"><i class="material-icons">menu</i></a>
  </div>
</nav><!-- nav ending -->

CSS:

.side-nav {
 background-color: #27AEEB;
 color: #ffffff;
 margin-top: 75px;
 margin-left: 8px;
 height: 47%;
 overflow: hidden;
}

最佳答案 如果通过普通的侧面导航你的意思是加载默认的侧面导航,那么你可能将所有侧面导航特定的CSS放在一个完全不同的类中,而不是你当前使用的.side-nav类.你可以有一个.custom-side-nav类,这意味着你的ul标签有.side-nav类看起来应该是< ul id =“nav-mobile”class =“side-nav custom-side-nav固定“取代.你的CSS应该是这样的:

.custom-side-nav {
    background-color: #27AEEB;
    color: #ffffff;
    margin-top: 75px;
    margin-left: 8px;
    height: 47%;
    overflow: hidden;
}

然后,无论何时导航到另一个页面,您都可以通过从侧面导航中删除.custom-side-nav类,使用jQuery返回所谓的“普通”侧导航.你可以使用.removeClass()方法,比如$(“#nav-mobile”).removeClass(“custom-side-nav”).这样,如果您再次访问此页面,只需使用$(“#nav-mobile”).addClass(“custom-side-nav”),您就可以稍后再次在侧面导航中应用自定义CSS.

如果我误解了您的问题,请告诉我,在这种情况下,您可能需要更多地了解您希望实现的目标,以便我们能够在具体的解决方案上工作.

点赞