ScrollSpy 非常无情,至少可以说文档很少……根据您的实现,对此有不同且相互冲突的修复……
嵌套内容是我的问题。这为我修复了它:
(1) 确保您的导航中的所有 href 与您监视的目标容器中的相应 ID 匹配。
(2)如果您监视的内容容器中的项目是嵌套的,那么它将不起作用......
这个:
<ul class="nav" id="sidebar">
<li>
<a href="#navItem1" />
</li>
<li>
<a href="#navItem2" />
</li>
</ul>
<div id="spiedContent"> <!-- nested content -->
<div id="navItem1">
<div id="navItem2"></div>
</div>
</div>
对此:
<ul class="nav" id="sidebar">
<li>
<a href="#navItem1" />
</li>
<li>
<a href="#navItem2" />
</li>
</ul>
<div id="spiedContent"> <!-- flat content -->
<div id="navItem1"></div>
<div id="navItem2"></div>
</div>
都好!
我的猜测是,如果您查看 scrollspy 代码,它不会越过间谍容器的第一个孩子的 id。