Bootstrap 4 滚动侦听 (高级)
Bootstrap 4 滚动侦听
滚动侦听用于根据**滚动**位置自动更新导航列表中的链接。
如何创建滚动侦听
以下示例演示了如何创建滚动侦听
示例
<!-- 可滚动区域 -->
<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">部分 1</a></li>
...
</nav>
<!-- 部分 1 -->
<div id="section1">
<h1>部分 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">部分 1</a>
</li>
...
</ul>
</nav>
<div class="col-sm-9 col-8">
<div id="section1">
<h1>部分 1</h1>
<p>尝试滚动此页面,并在滚动时查看菜单!</p>
</div>
...
</div>
</div>
</div>
</body>
亲自尝试 »
完整的 Bootstrap 滚动侦听参考
有关所有滚动侦听选项、方法和事件的完整参考,请访问我们的 Bootstrap JS 滚动侦听参考。