📜  Bootstrap-Affix插件(1)

📅  最后修改于: 2023-12-03 15:13:41.868000             🧑  作者: Mango

Bootstrap-Affix插件

Bootstrap-Affix是Bootstrap框架自带的一个插件,用于在滚动页面时将元素固定在屏幕顶部或底部。这个插件可用于创建粘性导航栏、固定表头或者任何需要在滚动过程中保持位置的元素。

使用方法

使用Bootstrap-Affix插件需要两步:定义元素和初始化插件。

定义元素

在HTML代码中,需要使用class affixaffix-topaffix-bottom来定义要固定的元素。例如,我们可以使用以下代码创建一个带有粘性的导航栏:

<nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

这个导航栏将会在页面滚动到一定位置时固定在屏幕顶部。我们将其设为fixed-top,以便在滚出屏幕时固定在屏幕边缘。

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
初始化插件

通过JavaScript来初始化Bootstrap-Affix插件。在使用插件之前,需要确保jQuery和Bootstrap.js文件已经被引用。

$(document).ready(function(){
    $('.nav').affix({
        offset: {
            top: 100
        }
    });   
});

affix方法接受一个参数对象,可以设置插件的一些选项,其中最重要的是 offset。这个选项决定了元素在何时固定在屏幕上。在这里,我们设置 top 为 100,表示当页面滚动到距离顶部100像素的位置时,导航栏就会固定在屏幕上。

选项

Bootstrap-Affix插件有一些选项来控制插件的行为。下面是常用的选项:

| 选项 | 值类型 | 默认值 | 描述 | | --- | --- | --- | --- | | offset | 数字/对象 | 0 | 触发固定位置的距离值。可以是一个纯数字,也可以是一个包含top和bottom的对象 | | target | 字符串/对象 | window | 用于设置固定元素的参照位置。可以是一个选择器字符串,也可以是一个jQuery对象 |

更多选项请参考官方文档

结束语

Bootstrap-Affix是一个非常好用的插件,可以帮助我们在设计移动端网页时更灵活地控制页面。当然,它不仅仅适用于导航栏,只要你需要滚动时某个元素保持位置不变,就可以用它。