在 Bootstrap 4 中,滚动监听(Scrollspy)是一种用于根据页面滚动位置自动更新导航链接状态的组件。以下是一个简单的例子,演示如何创建一个基本的滚动监听:
<!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