2013-02-21 111 views
1

我正在构建一个基于bootstrap的网站,此刻我遇到了问题。 如果我从data-attributes拨打:从javascript调用Bootstrap ScrollSpy不起作用

<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')是目标,我可以在哪里设置间谍对象(body)?

+0

你打电话给'.scrollspy'文件准备好了吗? – mkoryak 2013-02-21 18:02:02

回答

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将会被去掉不rmal流,有时你需要玩一点,所以词缀行为不会导致主要内容的跳跃。

祝你好运!

0

当通过JavaScript调用scrollspy时,指定body标签(或带有滚动条的另一个元素)并作为选项传入目标导航栏。

$('body').scrollspy({ target: '.navbar' }); 

我不知道为什么引导文件说,$( '#导航栏')。scrollspy()。这是非常具有误导性的。