<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<title>Bootstrap 4 滚动监听</title>
</head>
<body data-spy="scroll" data-target="#navbarExample" data-offset="70">
<!-- 导航栏 -->
<nav id="navbarExample" class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
<a class="navbar-brand" href="#">Logo</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#section1">部分 1 <span class="sr-only">(当前)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#section2">部分 2</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#section3">部分 3</a>
</li>
</ul>
</div>
</nav>
<!-- 部分 1 -->
<div id="section1" class="container mt-5">
<h2>部分 1</h2>
<p>这是部分 1 的内容。</p>
</div>
<!-- 部分 2 -->
<div id="section2" class="container mt-5">
<h2>部分 2</h2>
<p>这是部分 2 的内容。</p>
</div>
<!-- 部分 3 -->
<div id="section3" class="container mt-5">
<h2>部分 3</h2>
<p>这是部分 3 的内容。</p>
</div>
<!-- Bootstrap JavaScript 和 jQuery(可选)-->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>
在这个例子中,我们使用了 data-spy="scroll"、data-target="#navbarExample" 和 data-offset="70" 属性来启用滚动监听。导航栏中的链接指向具有相应 ID 的部分,这些部分 ID 与链接的 href 属性相匹配。
滚动监听会在页面滚动时自动更新导航链接的状态,标记当前所在的部分。你可以根据需要添加更多的部分和链接,并使用其他 Bootstrap 类来调整样式。这只是一个简单的示例,你可以根据需要进行更多的定制。
转载请注明出处:http://www.zyzy.cn/article/detail/5506/Bootstrap