Scrollspy仅适用于下拉菜单

时间:2016-04-03 21:50:43

标签: hover dropdown scrollspy

自从我输入下拉菜单的代码后,scrollspy只会悬停在下拉列表中的工作项上。它不适用于其他元素。我很确定我有正确的数据目标。思考? (我已尝试在引导文档,w3和其他人的网站上引用代码。我一定会遗漏一些东西。)

    <body data-spy="scroll" data-target=".navbar">
      <div class="container-fluid">
        <nav class="navbar navbar-inverse, navbar-fixed-top">
          <div class="container-fluid">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#mynavbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <div class="home navbar-brand">
                <a href="#">Home</a>
              </div><!-- end home -->
            </div><!-- end navbar-header -->
            <div class="collapse navbar-collapse" id="mynavbar">
              <ul class="nav navbar-nav navbar-right">
                <li><a href="#about-section">About</a></li>
                <li class="dropdown">
                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                  "Work"
                  <span class="caret"></span>
                  </a>
                <ul class="dropdown-menu">
                  <li><a href="#work-section">Work 1</a></li>
                  <li><a href="#work-section">Work 2</a></li>
                </ul>
                  </li>
                <li><a href="#faq-section">FAQ</a></li>
                <li><a href="#contact-section">Contact</a>
                </li>
              </ul>
            </div><!-- nav -->
          </div><!-- / nav container -->
        </nav><!-- / navbar -->

1 个答案:

答案 0 :(得分:0)

这对于原始海报来说可能为时已晚 - 但是如果有其他人遇到此问题,问题可能是因为下拉链接的目标div(或其他元素)被隐藏了。根据Bootstrap的ScrollSpy官方文档:

&#34;非:可见的目标元素被忽略 根据jQuery不可见的目标元素将被忽略,并且它们相应的导航项将永远不会被突出显示。&#34; (http://getbootstrap.com/javascript/#scrollspy

这意味着如果你的下拉链接目标是不可见的(即隐藏),SpyScroll插件就不会对它们起作用。

解决方法是在下拉列表中添加一些隐藏菜单,其中href id位于所需部分的上方和下方。理解我的观点可能不太清楚,如果有人需要进一步澄清,请告诉我,我很乐意详细说明: - )