1

我正在建立一个基于引导程序的网站,目前我遇到了问题。如果我打电话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') 是目标,我可以在哪里设置间谍对象(主体)?

4

2 回答 2

0

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

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

我不确定为什么引导文档说 $('#navbar').scrollspy()。这是非常具有误导性的。

于 2013-09-10T15:46:17.743 回答
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 会从正常流程中移除,因此有时您需要稍微播放一下,这样附加的行为才不会导致主要内容的跳转。

祝你好运!

于 2013-02-22T13:30:00.607 回答