Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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 滚动侦听参考



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.