Bootstrap 4 自动更新导航插件 (Scrollspy)

自动更新导航插件 ( Scrollspy )会根据滚动条的位置自动更新对应的导航目标

自动更新导航插件主要由两部分组成

  1. 滚动区域,以 data-spy="scroll" 来识别,且 CSS 属性 position 要设置为 "relative" 才能起作用
  2. 导航区域,以 .navbar 来识别

而滚动区域的 data-target 属性,它的值为导航栏的 id 或 class ( .navbar ),用于将滚动区域和导航区域联系起来

如果需要点击导航的链接滚动到指定区域,则需要将滚动项元素上的 id (<div id="section1">) 匹配导航栏上的链接选项 ( <a href="#section1">)

如果要在初始化时就滚动到指定的区域,可以使用 data-offset 属性 它用于计算滚动位置时,距离顶部的偏移像素。 默认为 10 px

下面的范例演示了自动更新导航插件插件的主要代码

<!-- 可滚动区域 -->
<div 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>

<!-- 第一部分内容 -->
<div id="section1">
  <h1>Section 1</h1>
  <p>Try to scroll this page and look at the navigation bar while scrolling!</p>
</div>
...
</div>

运行范例 »

垂直滚动监听

<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>Try to scroll this page and look at the navigation list while scrolling!</p>
        </div> 
        ...
      </div>
    </div>
  </div>

</body>

运行范例 »

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.