我们在边栏ul / il列表中使用twitter bootstrap scrollspy,这非常有用。 但是,当单击侧栏中的链接时,我们也会使用平滑滚动。 这会导致scrollspy突出显示进入视图的每个元素,正常情况下应如此。
但是当通过点击侧导航中的链接触发滚动时,用户很可能不希望菜单在滚动发生时进行动画处理。 有没有办法在动画滚动运行时暂时禁用scrollspy,然后在滚动完成后重新启用它?
答案 0 :(得分:8)
通过将类设置为scrollspy
的目标,您可以动态停止/恢复scrollspy
操作。
$('body').scrollspy({ target: '.spy-active' });
现在只需要在导航栏中添加或删除.spy-active
课程。
答案 1 :(得分:0)
将以下内容添加到本地javascript的顶部...
$.fn.scrollspy.Constructor.prototype.destroy = function(){
this.$element.off('scroll.bs.scroll-spy.data-api');
this.$body.removeData('bs.scrollspy');
return this.$body;
}