DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Bootstrap每天必學之附加導航(Affix)插件
Bootstrap每天必學之附加導航(Affix)插件
編輯:關於JavaScript     

附加導航(Affix)插件允許某個 <div> 固定在頁面的某個位置。您也可以在打開或關閉使用該插件之間進行切換。一個常見的例子是社交圖標。它們將在某個位置開始,但當頁面點擊某個標記,該 <div> 會鎖定在某個位置,不會隨著頁面其他部分一起滾動。
如果您想要單獨引用該插件的功能,那麼您需要引用 affix.js。

一、用法

可以通過 data 屬性或者通過 JavaScript 來使用附加導航(Affix)插件。
1、通過 data 屬性:如需向元素添加附加導航(Affix)行為,只需要向需要監聽的元素添加 data-spy="affix" 即可。請使用偏移來定義何時切換元素的鎖定和移動。
2、通過 JavaScript:您可以通過 JavaScript 手動為某個元素添加附加導航(Affix)

二、通過 CSS 定位

在上面兩種使用附加導航(Affix)插件的方式中,您都必須通過 CSS 定位內容。附加導航(Affix)插件在三種 class 之間切換,每種 class 都呈現了特定的狀態: .affix、.affix-top 和 .affix-bottom。請按照下面的步驟,來為這三種狀態設置您自己的 CSS(不依賴此插件)。
1、在開始時,插件添加 .affix-top 來指示元素在它的最頂端位置。這個時候不需要任何的 CSS 定位。
2、當滾動經過添加了附加導航(Affix)的元素時,應觸發實際的附加導航(Affix)。此時 .affix 會替代 .affix-top,同時設置 position: fixed;(由 Bootstrap 的 CSS 代碼提供)。
3、如果定義了底部偏移,當滾動到達該位置時,應把 .affix 替換為 .affix-bottom。由於偏移是可選的,假如設置了該偏移,則要求同時設置適當的 CSS。在這種情況下,請在必要的時候添加 position: absolute;。

三、選項

有一些選項是通過 data 屬性或 JavaScript 來傳遞的。下表列出了這些選項:

四、實例
附加導航即粘貼在屏幕某處實現錨點功能。
1、基本實例

<body data-spy="scroll" data-target="#myScrollspy">

 <div class="container">
 <div class="jumbotron" style="height:150px">
 <h1>Bootstrap Affix</h1>
 </div>
 <div class="row">
 <div class="col-xs-3" id="myScrollspy">
 <ul class="nav nav-pills nav-stacked" data-spy="affix"data-offset-top="150">
  <li class="active">
  <a href="#section-1">第一部分 </a>
  </li>
  <li>
  <a href="#section-2">第二部分</a>
  </li>
  <li>
  <a href="#section-3">第三部分</a>
  </li>
  <li>
  <a href="#section-4">第四部分</a>
  </li>
  <li>
  <a href="#section-4">第五部分</a>
  </li>
 </ul>
 </div>
 <div class="col-xs-9">
 <h2 id="section-1">第一部分</h2>
 <p>
  ...
 </p>
 <h2 id="section-2">第二部分</h2>
 <p>
  ...
 </p>
 <h2 id="section-3">第三部分</h2>
 <p>
  ...
 </p>
 <h2 id="section-4">第四部分</h2>
 <p>
  ...
 </p>
 <h2 id="section-5">第四部分</h2>
 <p>
  ...
 </p>
 </div>

 </div>
 </div>

2、導航的 CSS 部分

ul.nav-pills {
 width: 200px;
}
ul.nav-pills.affix {
 top: 30px;
}
//JavaScript 代替 data-spy="affix" data-offset-top="125"

$('#myAffix').affix({
 offset : {
 top : 150
 }
})

我們默認使用的是 top,當然也可以默認居底 bottom。這個定位方式是直接通過 CSS定位的。

//設置成 bottom

ul.nav-tabs.affix-bottom {
 bottom: 30px;
}
//設置成 bottom

$('#myAffix').affix({
 offset : {
 bottom : 150
 }
})

Affix 包含幾個事件,如下:

//其他雷同

$('#myAffix').on('affixed-top.bs.affix', function() {
 alert('觸發!');
});

如果大家還想深入學習,可以點擊這裡進行學習,再為大家附3個精彩的專題:

Bootstrap學習教程

Bootstrap實戰教程

Bootstrap插件使用教程

以上就是本文的全部內容,希望對大家的學習有所幫助。 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved