2013-02-21 128 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()。這是非常具有誤導性的。