动态加载内容和导航栏项目在 ScrollSpy 上无法正常工作

Dynamically Load content and Navbar items are not working properly on ScrollSpy

我有一些要求,其中很少有数据内容及其相应的按钮动态添加到 NavBar。当动态添加内容时,ScrollSpy 无法正常工作并且表现得很疲倦。

在内容上滚动,没有激活合适的按钮。

我知道它与动态添加有关,但不知道如何解决它。

Jsfiddle: 在下面的 JSFiddle 中,如果您单击“欢迎”,则会添加两个新内容 Div 和选项卡,之后当您开始滚动时,功能无法正常工作。

http://jsfiddle.net/26e8nduc/2/

$('.navbar li a').click(function (event) {

var scrollPos = $('body > .container').find($(this).attr('href')).offset().top - offsetHeight;
$('body,html').animate({
    scrollTop: scrollPos
}, 500, function () {
    $(".btn-navbar").click();
});
return false;

});

感谢您的回复

如是

动态添加元素时,需要在添加完元素后刷新scrollspy

来自最新的 bootstrap 文档 http://getbootstrap.com/javascript/#scrollspy

Methods

.scrollspy('refresh')

When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:

$('[data-spy="scroll"]').each(function () {
    var $spy = $(this).scrollspy('refresh')
})