您所在的位置:小祥子 » 编程 » JavaScript » 正文

导航菜单:jQuery粘性滚动导航栏效果

时间:2015-06-30 编辑:寒意 来源:Cnblogs

粘性滚动是当导航在滚动过程中会占粘于浏览器上,达到方便网站页面浏览的效果,也是一种用户体验,下面我们看一下是怎么实现的:

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 >
<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
    });
});

下载源码