我一直在引用关于Bootstrap的scrollspy组件的this帖子。在我的代码中,我使用以下方法实例化一个新的scrollspy来监视body
元素:
$("body").scrollspy({ offset: 25 });
稍后在我的代码中,我进行了一次AJAX调用并在页面中添加/删除元素。这会导致scrollspy错位,所以我需要刷新scrollspy。我尝试过多种方式执行此刷新操作,例如:
$("body").scrollspy("refresh");
和
$('[data-spy="scroll"]').each(function () {
$(this).scrollspy('refresh');
});
但是,这些代码片段都不会导致scrollspy的行为发生任何变化。我相信这是因为scrollspy直接在body
元素上进行间谍活动,但我不确定如何在我的AJAX调用之后进行scrollspy刷新。有谁知道我怎么可能刷新我的卷轴?
答案 0 :(得分:5)
似乎无法通过调用body
来刷新设置为监视$("body").scrollspy()
元素的滚动条。为了使用Bootstrap网站上记录的刷新功能,我必须明确声明data-spy
标记的data-target
和body
属性(其中scrollingNav
是{{}用于显示滚动的id
栏的1}}:
nav
然后,为了在从页面动态添加/删除元素时刷新此scrollspy,我使用了以下方法:
<body data-spy="scroll" data-target="#scrollingNav">