Bootstrap JS Scrollspy
JS Scrollspy
Scrollspy 用於根據滾動位置自動更新導航列表中的連結。
有關 Scrollspy 的教程,請閱讀我們的Bootstrap Scrollspy 教程。
透過 data-* 屬性
嚮應作為可滾動區域的元素新增 data-spy="scroll"
(通常是 <body>
元素)。
然後新增 data-target
屬性,其值為導航欄的 id 或類名(.navbar
)。這樣可以確保導航欄與可滾動區域相連。
請注意,可滾動元素必須匹配導航欄列表項中連結的 ID(<div id="section1">
匹配 <a href="#section1">
)。
可選的 data-offset
屬性指定了在計算滾動位置時從頂部偏移的畫素數。當您覺得導航欄中的連結在跳轉到可滾動元素時過早或過晚更改啟用狀態時,這很有用。預設為 10 畫素。
需要相對定位:具有 data-spy="scroll" 的元素需要 CSS position 屬性,其值為“relative”才能正常工作。
示例
<!-- 可滾動區域 -->
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<!-- 導航欄 - <a> 元素用於跳轉到可滾動區域中的某個部分 -->
<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#section1">Section 1</a>
</li>
....
</ul>
</nav>
<!-- Section 1 -->
<div id="section1">
<h1>Section 1</h1>
<p>嘗試滾動此頁面,在滾動時檢視導航欄!</p>
</div>
...
</body>
自己動手試一試 »
透過 JavaScript
使用以下命令手動啟用:
Scrollspy 選項
選項可以透過資料屬性或 JavaScript 傳遞。對於資料屬性,將選項名稱附加到 data-,例如 data-offset=""。
名稱 | 型別 | 預設值 | 描述 | 試一試 |
---|---|---|---|---|
offset | 數字 | 10 | 指定在計算滾動位置時與頂部偏移的畫素數 | 試一試 |
Scrollspy 方法
下表列出了所有可用的 scrollspy 方法。
方法 | 描述 |
---|---|
.scrollspy("refresh") | 在新增和刪除 scrollspy 的元素時,可以使用此方法重新整理文件 |
.scrollspy("dispose") | 銷燬 scrollspy |
Scrollspy 事件
下表列出了所有可用的 scrollspy 事件。
事件 | 描述 |
---|---|
activate.bs.scrollspy | 當 scrollspy 啟用新專案時發生 |