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 id="first">first</h1> <h1 id="second">second</h1> <h1 id="third">third</h1> </div> </body>
关键的属性为body上面的data-spy="scroll" 同时标题元素必须按照格式.nav li > a的格式正确嵌套因为JS是通过这个格式来选择元素的
a元素的data-target的值要和内容元素互相对应,如标题为data-target="#demo"则内容元素要设置为id="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(){})