2013-03-10 60 views
2

我有一個導航欄,在約50像素從上載頁面的頂部開始了。當我向下滾動,我想了導航欄,以自己「貼上」到頁面的最頂端,並可見當我在其餘內容滾動。這與導航欄在官方引導教程Github網站上的功能類似。
我能夠獲得導航欄使用如何用Twitter Bootstrap來粘貼我的導航欄?

<ul class = "nav nav-list bs-docs-sidenav affix"> 

留在原地(儘管總是從頂部50像素,因爲我向下滾動頁面),但一旦我加上「機頂」上述這樣它看起來像

<ul class = "nav nav-list bs-docs-sidenav affix-top"> 

的導航欄不再停留的地方,並從視野中消失,因爲我向下滾動頁面。

jsfiddle without "-top"

jsfiddle with "-top"

如何獲得導航欄貼上頁面的頂部,我向下滾動?

回答

15

有幾件事情需要糾正。請參閱固定的jsfiddle

  1. 詞綴使用jQuery的引導,如JavaScript代碼實現的,你沒有既不包括BS的JS也不jQuery的
  2. 要打開詞綴的元素,根據official documentation,使用data-spy="affix",而不是class="affix"。你爲什麼這麼做?類affixaffix-top用於不同的目的 - 他們會告訴你詞綴的狀態的時間。如果此時你的元素是固定的,那麼這個類是affix,如果它是可滾動的,BS將類更改爲affix-top
  3. 你必須告訴BS,當你不想被固定的元素。以像素爲單位的距離(你有滾動多少)都被賦予屬性data-offset-top。還要在CSS中指定nav在修復時的外觀。如果它被綁定到頂部(窗口邊框和元素之間沒有空格),那麼.affix { top:0; }就可以做到。
+0

馬爾辛 - 嗨,你既需要bootstrap.js文件和jQuery庫引用或只是其中之一來實現貼上? – 2013-03-11 02:16:30

+0

兩者。 'bootstrap.js'(或其部分僅包含Affix特性 - 「bootstrap-affix.js」)是Twitter的代碼,但它需要jQuery,因爲現在是互聯網的一半;)由於jQuery,您可以創建更多JS快速和乾淨,但首先它將在許多不同的網頁瀏覽器中更具可移植性,因此,感謝BS作者使用它:) – 2013-03-11 05:59:48