BootStrap--scroll

滚动侦测

  滚动侦测基本使用方法为:

<body data-spy="scroll">
    <nav class="navbar navbar-default navbar-fixed-top">
        <ul class="nav navbar-nav">
            <li class="active"><a data-target="#first">first</a></li>
            <li><a data-target="#second">second</a></li>
            <li><a data-target="#third">third</a></li>
        </ul>
    </nav>
    <div class="content">
        <h1 >first</h1>
        <h1 >second</h1>
        <h1 >third</h1>
    </div>
</body>

  关键的属性为body上面的data-spy="scroll" 同时标题元素必须按照格式.nav li > a的格式正确嵌套因为JS是通过这个格式来选择元素的

  a元素的data-target的值要和内容元素互相对应,如标题为data-target="#demo"则内容元素要设置为

  滚动容器内可以设置data-offset,该属性表示滚动容器和滚动内容的距离在这个数值之内就显示,默认值是10

  如果在滚动侦测的容器内进行DOM更新,为了滚动侦测功能能够正常使用需要对内容进行更新,代码如下:

$('[data-spy="scroll"]').each(function () {
    var $spy = $(this).scrollspy('refresh')
})

JS使用

  JS调用的方式为:

$("body").scrollspy()

  当使用JS的方式运行滚动侦测功能时如果进行DOM更新后,上面的更新方式不会起作用,只能重新调用$("body").scrollspy()来继续让滚动侦测继续有效

  在JS中设置滚动容器和滚动内容之间的距离的属性为offset

  滚动容器提供了一个事件activate.bs.scrollspy该事件在滚动到一个新的内容块时调用,使用方式为:

$("body").on("activate.bs.scrollspy",function(){})