想要使用Flat UI引导程序更改我的一页导航栏上的活动状态



当页面在与该链接相关的部分滚动时,以及当我单击该链接转到该部分时,我希望我的导航栏更改链接的活动状态。导航栏转到页面上的部分,而不是另一个页面。我正在为这个网站使用引导程序。

这是Html

<header id="navbar">
    <div class="row" id="navbar-1">
      <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation" id="navbar-2">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
          </button>
        </div>
        <div class="collapse navbar-collapse myActlink" id="bs-example-navbar-collapse-1">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#section1">Home</a></li>
            <li><a href="#section2">Me</a></li>
            <li><a href="#section3">Work</a></li>
            <li><a href="#section4">Contact</a></li>
          </ul>
        </div><!-- /.navbar-collapse -->
      </nav>
    </div>
  </header>

我试着使用这个jquery代码,但它改变了活动类,但当我点击时,我无法转到任何部分

$('.myActlink li').click(function(e) {
    $('.myActlink li.active').removeClass('active');
    var $this = $(this);
    if (!$this.hasClass('active')) {
        $this.addClass('active');
    }
    e.preventDefault();
});

有人能帮忙吗?

当您在href属性中传递#idname时,它会在页面中查找id,并向下/向上滚动到该部分,以便元素的顶部就是窗口的顶部。在您的情况下,HTML中可能缺少`id="section1"。我不确定,因为我只能看到HTML的标题部分。

点击:

<a href="#section1"></a>

页面将滚动页面至:

<div id="section1"></div>

额外:为了获得平滑过渡滚动效果,您可以使用Chris Coyier出色的平滑滚动插件。

最新更新