【问题标题】:Want change the active state on my one page section navbar using Flat UI bootstrap想要使用 Flat UI 引导程序更改我的一页部分导航栏上的活动状态
【发布时间】:2016-04-06 08:30:40
【问题描述】:

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

这是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();
});

谁能帮忙?

【问题讨论】:

    标签: jquery html twitter-bootstrap


    【解决方案1】:

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

    点击时:

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

    页面会将页面滚动到:

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-09
      • 1970-01-01
      • 2018-09-06
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 2018-10-01
      相关资源
      最近更新 更多