Demo展示頁
作法說明
1.幫body加工
將body加上display: relative
,如果還是不行使用的話加上width: 100%
與height: 100%
。
1 2 3
| display: relative; width: 100%; height: 100%;
|
2. 宣告navbar並設定target
使用js宣告target,這次我使用的target是整個navbar,用.navbar-custom
來指定之,有需要的話可以調整offset修正navbar的觸發情形。
1 2 3 4 5 6
| $(document).ready(function(){ $("body").scrollspy({ target: ".navbar-custom", offset: 370 }) });
|
1 2 3 4 5 6 7 8
| nav class="navbar navbar-default navbar-custom navbar-fixed-top" role="navigation"> <div class="container"> . . .
</div> </nav>
|
3. 設定個區塊的id,並關聯到導覽列的連結
每個區塊設定id,例如:
1 2 3 4 5
| <section class="client t-padding" id="clients"> . . . </section>
|
幫導覽列的連結加上href="#id"
1 2 3 4 5 6 7 8
| <div id="navbar"class="collapse navbar-collapse navbar-right navbar-main-collapse"> <ul class="nav navbar-nav "> <li class="page-scroll"><a href="#why">why us?</a></li> <li class="page-scroll"><a href="#who">who are we?</a></li> <li class="page-scroll"><a href="#clients">clients</a></li> <li class="page-scroll"><a href="#contact">contact</a></li> </ul> </div>
|
Bonus. 自行撰寫點擊導覽列連結就可以緩緩移動的JS
將li加上.page-scroll
的屬性,以便之後選取。
1 2 3 4 5 6 7 8 9
| <div id="navbar"class="collapse navbar-collapse navbar-right navbar-main-collapse"> <ul class="nav navbar-nav "> <li class="page-scroll"><a href="#why">why us?</a></li> <li class="page-scroll"><a href="#who">who are we?</a></li> <li class="page-scroll"><a href="#clients">clients</a></li> <li class="page-scroll"><a href="#contact">contact</a></li> </ul> </div>
|
當點擊到連結時,畫面會垂直位移到相對硬的區塊。
1 2 3 4 5 6 7
| $('.page-scroll > a').click(function(){ var $anchor = $(this); $('html, body').stop().animate({ scrollTop: $($anchor.attr('href')).offset().top-100 }, 1500, 'easeInOutExpo'); event.preventDefault(); });
|
加上CSS的轉場效果,讓效果更漂亮。
1 2 3 4 5 6 7 8
| .page-scroll{ -moz-transition-property: -webkit-transform ; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; transition-duration: 1s; -moz-transition-duration: 1s; -webkit-transition-duration: 1s; }
|
參考連結
JavaScript · Bootstrap
How to Create Bootstrap 3 Scrollspy - Tutorial Republic