8

我们在侧边栏 ul/il 列表上使用 twitter bootstrap scrollspy,效果很好。但是,在单击侧边栏中的链接时,我们也会使用平滑滚动。这会导致 scrollspy 突出显示进入视图的每个元素,就像在正常情况下一样。

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

4

2 回答 2

8

By setting a class as the target of scrollspy you can dynamically stop/resume scrollspy operation.

$('body').scrollspy({ target: '.spy-active' });

Now one will just need to add or remove the .spy-active class on the navigation.

于 2013-09-19T12:56:29.010 回答
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;
}
于 2014-02-12T21:47:19.247 回答