Twitter bootstrap scrollspy - 在平滑滚动上禁用?

时间:2013-09-19 09:36:47

标签: javascript twitter-bootstrap html-lists twitter-bootstrap-3 scrollspy

我们在边栏ul / il列表中使用twitter bootstrap scrollspy,这非常有用。 但是,当单击侧栏中的链接时,我们也会使用平滑滚动。 这会导致scrollspy突出显示进入视图的每个元素,正常情况下应如此。

但是当通过点击侧导航中的链接触发滚动时,用户很可能不希望菜单在滚动发生时进行动画处理。 有没有办法在动画滚动运行时暂时禁用scrollspy,然后在滚动完成后重新启用它?

2 个答案:

答案 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;
}