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