粘性滾動是當導航在滾動過程中會占粘於瀏覽器上,達到方便網站頁面瀏覽的效果,也是一種用戶體驗,下面我們看一下是怎么實現的:
jQuery的 smint插件,也是一個導航菜單固定插件。當頁滾動時,導航菜單會固定在頂部;當點擊菜單時,頁面會平滑的滾動到對應的區域。
兼容性
由於 smint 使用了 position: fixed,所以它不兼容 IE6。適用瀏覽器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.
引入文件
<link href="css/demo.css" rel="stylesheet" type="text/css">
<script src="js/jquery.min.js"></script> <script src="js/jquery.smint.js"></script>
HTML
<body onload="setTimeout(function() { window.scrollTo(0, 1) }, 100);"> <div class="wrap"> <div class="subMenu"> <div class="inner"> <a href="#" id="sTop" class="subNavBtn">Home</a> <a href="#" id="s1" class="subNavBtn">Section 1</a> <a href="#" id="s2" class="subNavBtn">Section 2</a> <a href="#" id="s3" class="subNavBtn">Section 3</a> <a href="#" id="s4" class="subNavBtn">Section 4</a> <a href="#" id="s5" class="subNavBtn end">Section 5</a> </div> </div> <div class="section sTop"> <div class="inner"></div><br class="clear"> </div> <div class="section s1"> <div class="inner"><h1>Section 1</h1></div> </div> <div class="section s2"> <div class="inner"><h1>Section 2</h1></div> </div> <div class="section s3"> <div class="inner"><h1>Section 3</h1></div> </div> <div class="section s4"> <div class="inner"><h1>Section 4</h1></div> </div> <div class="section s5"> <div class="inner"><h1>Section 5</h1></div> </div> </div> </body>
注意:菜單的外部容器(如上例的 subMenu)需要設置樣式 position:absolute,並且每個菜單的 a 標簽需要設置 id,id 的值與下面對應區域的 class 的值一致。
JavaScript
$(function() { $('.subMenu').smint({ scrollSpeed : 1000 }); });
