我正在使用来自twitter bootstrap的scrollspy,如果它没有触发另一个部分,它会在离开一个部分后保持选择导航元素。
任何人都知道是否有办法清除选择,一旦它离开所选区域并且不会触发另一个项目?
谢谢!
我正在使用来自twitter bootstrap的scrollspy,如果它没有触发另一个部分,它会在离开一个部分后保持选择导航元素。
任何人都知道是否有办法清除选择,一旦它离开所选区域并且不会触发另一个项目?
谢谢!
由于更新引导程序版本时的长期后果,我不太热衷于修补 twitter 引导程序。我最终添加了隐藏的导航元素来表示我不希望 scrollspy 突出显示导航元素的区域。
<ul class="nav navbar-nav">
<li class="hidden">
<%= link_to "Top", '#top' %>
</li>
<li>
<%= link_to "Features", '#features' %>
</li>
<li>
<%= link_to "Gift Collections", '#gift-collections' %>
</li>
<li>
<%= link_to "Pricing", '#pricing' %>
</li>
</ul>
我在寻找同样的东西,发现了这个:https ://gist.github.com/kirov/9482666
这些是您需要添加的更改:
if (scrollTop <= offsets[0]) {
this.deactivate();
return;
}
if (scrollTop >= maxScroll) {
return activeTarget != (i = targets.last()[0]) && this.activate(i)
}
if (activeTarget && scrollTop <= offsets[0]) {
return activeTarget != (i = targets[0]) && this.activate(i)
}
ScrollSpy.prototype.deactivate = function (target) {
$(this.selector)
.parent('.active')
.removeClass('active');
this.activeTarget = null;
}