我正在构建一个基于引导程序的网站,目前我遇到了问题。
如果我从data-attributes
致电:
<body data-target=".navbar" data-spy="scroll" data-offset="200">
Scrollspy确实有用。
但是如果我使用javascript
$('.navbar').scrollspy({offset:200});
这不起作用!
我也已尝试动态放置属性:
$("body").data("target", ".navbar");
$("body").data("spy", "scroll");
$("body").data("offset", "200");
到目前为止没有结果。
我认为javascript调用缺少一些东西。如果$('。navbar')是目标,我在哪里可以设置间谍对象(正文)?
答案 0 :(得分:0)
有不同的方法可以做到这一点,看看这是否对您有所帮助:http://jsfiddle.net/panchroma/Tgghc/
使用数据属性,重要位包括您要监视的div中的数据间谍详细信息:
<div id="nav-wrapper" data-spy="affix" data-offset-top="200">
.....
然后在你的CSS中定义你想要在这个div上发生什么时,例如:
#nav-wrapper.affix {
top: 0;
width: 100%
}
由于附加的div将从正常流中删除,因此有时您需要播放一下,因此词缀行为不会导致主内容的跳转。
祝你好运!答案 1 :(得分:0)
通过JavaScript调用scrollspy时,请指定body标记(或带有滚动条的其他元素)并将目标nav作为选项传入。
$('body').scrollspy({ target: '.navbar' });
我不确定为什么引导文档会说$('#navbar')。scrollspy()。这是非常误导的。