自从我输入下拉菜单的代码后,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 -->
答案 0 :(得分:0)
这对于原始海报来说可能为时已晚 - 但是如果有其他人遇到此问题,问题可能是因为下拉链接的目标div(或其他元素)被隐藏了。根据Bootstrap的ScrollSpy官方文档:
&#34;非:可见的目标元素被忽略 根据jQuery不可见的目标元素将被忽略,并且它们相应的导航项将永远不会被突出显示。&#34; (http://getbootstrap.com/javascript/#scrollspy)
这意味着如果你的下拉链接目标是不可见的(即隐藏),SpyScroll插件就不会对它们起作用。
解决方法是在下拉列表中添加一些隐藏菜单,其中href id位于所需部分的上方和下方。理解我的观点可能不太清楚,如果有人需要进一步澄清,请告诉我,我很乐意详细说明: - )