zoukankan      html  css  js  c++  java
  • 一款基于jquery滑动后固定于顶部的导航

    之前已为大家介绍了好多css3实现的导航菜单。今天分享一款基于jquery滑动后固定于顶部的导航。这款导航的特点是初始位于顶部下面一百个像素,当鼠标滚动时到下方,导航一直处于顶部。效果图如下:

    在线预览   源码下载

    实现的代码。

    html代码:

    <h1>
            Scroll down</h1>
        <h2>
            And watch the menu bar</h2>
        <nav id="menu">
            <h1 id="sitename">
                MySite</h1>
            <ul>
                <li class="active"><a href="http://www.w2bc.com">Home</a></li>
                <li><a href="http://www.w2bc.com">Blog</a></li>
                <li><a href="http://www.w2bc.com">About</a></li>
                <li><a href="http://www.w2bc.com">Contact</a></li>
            </ul>
        </nav>

    css代码:

      body
            {
                height: 2000px;
                font-family: Roboto, sans-serif;
                -webkit-font-smoothing: antialiased;
            }
            
            h1, h2
            {
                text-align: center;
            }
            
            h1
            {
                color: #222;
            }
            
            h2
            {
                color: #555;
            }
            
            nav#menu
            {
                margin-top: 50px;
                background: #3498db;
                text-align: center;
                height: 50px;
                width: 100%;
            }
            
            nav#menu ul
            {
                padding: 0;
                background: white;
                margin: 0 auto;
                display: inline-block;
                height: 50px;
            }
            
            nav#menu ul li
            {
                float: left;
                padding: 0 20px;
                background: #3498db;
                list-style: none;
                margin-right: 5px;
                line-height: 50px;
                height: 50px; /*
       * This element will get an alternative style
       * once we apply the "scrolled" class.
       * We also want a nice animation so we can
       * simply set CSS3 transitions for this.
       */
                transition: margin 0.1s ease-in-out;
            }
            
            nav#menu ul li:nth-child(1)
            {
                margin-left: 5px;
            }
            
            nav#menu ul li.active
            {
                background: #2980b9;
            }
            
            nav#menu ul li a
            {
                color: white;
                text-decoration: none;
                font-size: 1.3em;
            }
            
            nav#menu h1#sitename
            {
                font-size: 1.2em;
                line-height: 50px;
                margin: 0;
                position: absolute;
                left: 0.5em;
                color: white;
                opacity: 0; /*
       * Same thing here as with the menu items.
       * This element will be animated into its
       * alt. state with the transition property
       */
                transition: opacity 0.1s ease-in-out;
            }
            
            
            /*********************************************
     * Once the 'scrolled' class is toggled 
     * we can set any alternative styling that we
     * want for the menu bar 
     *********************************************/
            
            nav#menu.scrolled
            {
                margin: 0;
                position: fixed;
                top: 0;
            }
            
            nav#menu.scrolled ul li
            {
                margin: 0;
            }
            
            nav#menu.scrolled h1#sitename
            {
                opacity: 1;
            }

    js代码:

            var menu = $('nav#menu');
    
            var watcher = scrollMonitor.create(menu);
    
            watcher.lock();
    
            watcher.stateChange(function () {
                $(menu).toggleClass('scrolled', this.isAboveViewport)
            }); //@ sourceURL=pen.js

    注:本文爱编程原创文章,转载请注明原文地址:http://www.w2bc.com/Article/7501

  • 相关阅读:
    在Linux系统中Navicat for MySQL 出现1045错误如何处理
    一个老程序员这些年的心得体会
    忘了
    DAY11
    day10_plus
    day10
    东北育才冲刺noip(day9)
    Java语言Socket接口用法详解
    JDBC-ODBC桥连接方式操纵SQL数据库
    JDBC连接SQL Server 2005步骤详解
  • 原文地址:https://www.cnblogs.com/liaohuolin/p/3995971.html
Copyright © 2011-2022 走看看