附加導覽(Affix)外掛程式允許某個
一、用法
可以透過 data 屬性或透過 JavaScript 來使用附加導航(Affix)外掛程式。
1.透過 data 屬性:如需在元素中新增附加導航(Affix)行為,只需要在需要監聽的元素中加入 data-spy="affix" 即可。請使用偏移來定義何時切換元素的鎖定和移動。
2、透過 JavaScript:您可以透過 JavaScript 手動為某個元素新增附加導航(Affix)
二、透過 CSS 定位
在上面兩種使用附加導覽(Affix)外掛程式的方式中,您都必須透過 CSS 定位內容。附加導航(Affix)外掛程式在三種 class 之間切換,每種 class 都呈現了特定的狀態: .affix、.affix-top 和 .affix-bottom。請按照下面的步驟,來為這三種狀態設定您自己的 CSS(不依賴此外掛)。
1.在開始時,插件會加入 .affix-top 來指示元素在它的最頂端位置。這時候不需要任何的 CSS 定位。
2、當滾動經過添加了附加導航(Affix)的元素時,應觸發實際的附加導航(Affix)。此時 .affix 會取代 .affix-top,同時設定 position: fixed;(由 Bootstrap 的 CSS 程式碼提供)。
3.如果定義了底部偏移,當滾動到達該位置時,應把 .affix 替換為 .affix-bottom。由於偏移是可選的,如果設定了該偏移,則要求同時設定適當的 CSS。在這種情況下,請在必要的時候加入 position: absolute;。
三、選項
有一些選項是透過 data 屬性或 JavaScript 來傳遞的。下表列出了這些選項:
四、實例
附加導航即貼在螢幕某處實現錨點功能。
1.基本實例
<body data-spy="scroll" data-target="#myScrollspy"> <div class="container"> <div class="jumbotron" style="height:150px"> <h1>Bootstrap Affix</h1> </div> <div class="row"> <div class="col-xs-3" id="myScrollspy"> <ul class="nav nav-pills nav-stacked" data-spy="affix"data-offset-top="150"> <li class="active"> <a href="#section-1">第一部分 </a> </li> <li> <a href="#section-2">第二部分</a> </li> <li> <a href="#section-3">第三部分</a> </li> <li> <a href="#section-4">第四部分</a> </li> <li> <a href="#section-4">第五部分</a> </li> </ul> </div> <div class="col-xs-9"> <h2 id="section-1">第一部分</h2> <p> ... </p> <h2 id="section-2">第二部分</h2> <p> ... </p> <h2 id="section-3">第三部分</h2> <p> ... </p> <h2 id="section-4">第四部分</h2> <p> ... </p> <h2 id="section-5">第四部分</h2> <p> ... </p> </div> </div> </div>
2、導覽的 CSS 部分
ul.nav-pills { width: 200px; } ul.nav-pills.affix { top: 30px; } //JavaScript 代替 data-spy="affix" data-offset-top="125" $('#myAffix').affix({ offset : { top : 150 } })
我們預設使用的是 top,當然也可以預設居底 bottom。這個定位方式是直接透過 CSS定位的。
//设置成 bottom ul.nav-tabs.affix-bottom { bottom: 30px; } //设置成 bottom $('#myAffix').affix({ offset : { bottom : 150 } })
Affix 包含幾個事件,如下:
//其他雷同 $('#myAffix').on('affixed-top.bs.affix', function() { alert('触发!'); });
更多內容可以參考:Bootstrap學習教學
以上就是本文的全部內容,希望對大家的學習有所幫助。