Bootstrap 教程
滾動監(jiān)聽(Scrollspy)插件,即自動更新導航插件,會根據(jù)滾動條的位置自動更新對應的導航目標。其基本的實現(xiàn)是隨著您的滾動,基于滾動條的位置向?qū)Ш綑谔砑?.active class。
如果您想要單獨引用該插件的功能,那么您需要引用 scrollspy.js。或者,正如 Bootstrap 插件概覽 一章中所提到,您可以引用 bootstrap.js 或壓縮版的 bootstrap.min.js。
您可以向頂部導航添加滾動監(jiān)聽行為:
<body data-spy="scroll" data-target=".navbar-example"> ... <div class="navbar-example"> ????<ul class="nav nav-tabs"> ????????... ????</ul> </div> ... </body>
$('body').scrollspy({ target: '.navbar-example' })
下面的實例演示了通過 data 屬性使用滾動監(jiān)聽(Scrollspy)插件:
結(jié)果如下所示:
通過 data 屬性或 JavaScript 來傳遞。下表列出了這些選項:
選項名稱 | 類型/默認值 | Data 屬性名稱 | 描述 |
---|---|---|---|
offset | number 默認值:10 | data-offset | 當計算滾動位置時,距離頂部的偏移像素。 |
$('[data-spy="scroll"]').each(function () { var $spy = $(this).scrollspy('refresh') })
下面的實例演示了 .scrollspy('refresh') 方法的用法:
結(jié)果如下所示:
下表列出了滾動監(jiān)聽中要用到事件。這些事件可在函數(shù)中當鉤子使用。
事件 | 描述 | 實例 |
---|---|---|
activate.bs.scrollspy | 每當一個新項目被滾動監(jiān)聽激活時,觸發(fā)該事件。 |
$('#myScrollspy').on('activate.bs.scrollspy', function () { // 執(zhí)行一些動作... }) |
下面的實例演示了 activate.bs.scrollspy 事件的用法:
結(jié)果如下所示:
以下實例演示了如何創(chuàng)建水平滾動監(jiān)聽:
以下實例演示了如何創(chuàng)建垂直滾動監(jiān)聽: