選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Bootstrap JS 固釘


JS 固釘 (affix.js)

固釘外掛允許一個元素被固定(鎖定)在頁面上的某個區域。這通常用於導航選單或社交圖示按鈕,使其在頁面上下滾動時“固定”在特定區域。

該外掛根據滾動位置切換此行為的開/關(將 CSS position 的值從 static 更改為 fixed)。

固釘外掛在三個類之間切換:.affix.affix-top.affix-bottom。每個類代表一個特定的狀態。您必須新增 CSS 屬性來處理實際位置,但 .affix 類上的 position:fixed 除外。

欲瞭解更多資訊,請閱讀我們的 Bootstrap 固釘教程

提示:固釘外掛經常與 滾動監聽 外掛一起使用。


透過 data-* 屬性

data-spy="affix" 新增到您要監聽的元素,並新增 data-offset-top|bottom="number" 屬性以計算滾動位置。

示例

<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
自己動手試一試 »

透過 JavaScript

使用以下命令手動啟用:

示例

$('.nav').affix({offset: {top: 150} });
自己動手試一試 »


固釘選項

選項可以透過資料屬性或 JavaScript 傳遞。對於資料屬性,將選項名稱附加到 data-,例如 data-offset=""。

名稱 型別 預設值 描述
offset 數字 | 物件 | 函式 10 指定計算滾動位置時與螢幕的偏移畫素數。當使用單個數字時,偏移量會新增到頂部和底部方向。如果您只想控制頂部或底部,請使用物件,例如 offset: {top:25}

對於多個偏移量,請使用 offset: {top:25, bottom:50}

提示:使用函式動態提供偏移量(對於響應式設計可能很有用)
target 選擇器 | 節點 | 元素 視窗物件 指定固釘的目標元素

固釘事件

下表列出了所有可用的固釘事件。

事件 描述 試一試
affix.bs.affix 在將固定定位新增到元素之前發生(例如,當 .affix-top 類即將被 .affix 類替換時) 試一試
affixed.bs.affix 在將固定定位新增到元素之後發生(例如,在 .affix-top 類被 .affix 類替換之後) 試一試
affix-top.bs.affix 在頂部元素返回其原始(非固定)位置之前發生(例如,.affix 類即將被 .affix-top 替換時) 試一試
affixed-top.bs.affix 在頂部元素返回其原始(非固定)位置之後發生(例如,.affix 類已被 .affix-top 替換之後) 試一試
affix-bottom.bs.affix 在底部元素返回其原始(非固定)位置之前發生(例如,.affix 類即將被 .affix-bottom 替換時) 試一試
affixed-bottom.bs.affix 在底部元素返回其原始(非固定)位置之後發生(例如,.affix 類已被 .affix-bottom 替換之後) 試一試

更多示例

固定導航欄

建立一個水平固定的導航選單

示例

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
自己動手試一試 »

使用 jQuery 自動固定導航欄

使用 jQuery 的 outerHeight() 方法在使用者滾動經過指定元素(<header>)後固定導航欄

示例

$(".navbar").affix({offset: {top: $("header").outerHeight(true)} });
自己動手試一試 »

滾動監聽和固釘

將固釘外掛與 滾動監聽 外掛一起使用

水平選單(導航欄)

<body data-spy="scroll" data-target=".navbar" data-offset="50">

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>

</body>
自己動手試一試 »

垂直選單(側邊導航)

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

<nav class="col-sm-3" id="myScrollspy">
  <ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
  ...
</nav>

</body>
自己動手試一試 »

固釘時的動畫導航欄

使用 CSS 操作不同的 .affix 類

示例 - 滾動時更改導航欄的背景顏色和填充

.affix {
  top: 0;
  width: 100%;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  background-color: #F44336;
  border-color: #F44336;
}

.affix a {
  color: #fff !important;
  padding: 15px !important;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.affix-top a {
  padding: 25px !important;
}
自己動手試一試 »

示例 - 滑入導航欄

.affix {
  top: 0;
  width: 100%;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.affix-top {
  position: static;
  top: -35px;
}
自己動手試一試 »

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援