首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想使用平面UI引导程序更改我的单页部分导航栏上的活动状态

我想使用平面UI引导程序更改我的单页部分导航栏上的活动状态
EN

Stack Overflow用户
提问于 2016-04-06 06:56:18
回答 1查看 355关注 0票数 0

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

这是Html

代码语言:javascript
复制
<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代码,但它更改了活动类,但当我单击它时,我无法转到任何部分

代码语言:javascript
复制
$('.myActlink li').click(function(e) {
    $('.myActlink li.active').removeClass('active');
    var $this = $(this);
    if (!$this.hasClass('active')) {
        $this.addClass('active');
    }
    e.preventDefault();
});

有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-06 08:30:41

当您在href属性中传递一个#idname时,它会在页面中查找id,并向下/向上滚动到该部分,这样该元素的顶部就是窗口的顶部。在您的示例中,您可能会在HTML中遗漏`id="section1“。我不确定,因为我只能看到你的HTML的标题部分。

单击时:

代码语言:javascript
复制
<a href="#section1"></a>

页面将滚动到以下位置:

代码语言:javascript
复制
<div id="section1"></div>

Extra:为了获得平滑过渡的滚动效果,你可以使用Chris Coyier出色的平滑滚动plugin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36438514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档