Bootstrap 4 滾動監視器 (高階)
Bootstrap 4 滾動監視器
Scrollspy 用於根據滾動位置自動更新導航列表中的連結。
如何建立 Scrollspy
以下示例演示瞭如何建立 scrollspy
示例
<!-- 可滾動區域 -->
<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><a href="#section1">Section 1</a></li>
...
</nav>
<!-- Section 1 -->
<div id="section1">
<h1>Section 1</h1>
<p>嘗試滾動此頁面,在滾動時檢視導航欄!</p>
</div>
...
</body>
自己動手試一試 »
示例解釋
嚮應作為可滾動區域的元素新增 data-spy="scroll"
(通常是 <body>
元素)。
然後新增 data-target
屬性,其值為導航欄的 id 或類名(.navbar
)。這樣可以確保導航欄與可滾動區域相連。
請注意,可滾動元素必須匹配導航欄列表項中連結的 ID(<div id="section1">
匹配 <a href="#section1">
)。
可選的 data-offset
屬性指定了在計算滾動位置時從頂部偏移的畫素數。當您覺得導航欄中的連結在跳轉到可滾動元素時過早或過晚更改啟用狀態時,這很有用。預設為 10 畫素。
需要相對定位:具有 data-spy="scroll" 的元素需要 CSS position 屬性,其值為“relative”才能正常工作。
滾動監視器垂直選單
在此示例中,我們使用 Bootstrap 的垂直導航藥丸作為選單
示例
<body data-spy="scroll" data-target="#myScrollspy" data-offset="1">
<div class="container-fluid">
<div class="row">
<nav class="col-sm-3 col-4" id="myScrollspy">
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<a class="nav-link active" href="#section1">Section 1</a>
</li>
...
</ul>
</nav>
<div class="col-sm-9 col-8">
<div id="section1">
<h1>Section 1</h1>
<p>嘗試滾動此頁面,並在滾動時檢視選單!</p>
</div>
...
</div>
</div>
</div>
</body>
自己動手試一試 »
完整的 Bootstrap 滾動監視器參考
有關所有滾動監視器選項、方法和事件的完整參考,請訪問我們的 Bootstrap JS 滾動監視器參考。