成都网站建设设计

将想法与焦点和您一起共享

css3和jquery如何实现可折叠导航菜单适合放在手机网页的导航菜单

这篇文章主要介绍了css3和jquery如何实现可折叠导航菜单适合放在手机网页的导航菜单,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

丹寨网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

效果图如下:
css3和jquery如何实现可折叠导航菜单适合放在手机网页的导航菜单 
这个实例由css3和依赖于jquery插件。下面是实现代码
html代码:

 
 
  • Home
  •  
  • About
  •  
  • Clients
  •  
  • Contact Us
  •               Example Header   
     
     
     
     
     
     
     
     
     
     
     


    css3代码:

    *
    {
    box-sizing: border-box;
    }
    body
    {
    font-family: "HelveticaNeue-Light" , "Helvetica Neue Light" , "Helvetica Neue" , Helvetica, Arial, "Lucida Grande" , sans-serif;
    font-weight: 300;
    }
    nav
    {
    position: fixed;
    -webkit-transform: translate3d(0, 0, 0);
    left: 0;
    transition: all 0.4s ease;
    width: 100%;
    background: #34495e;
    height: 0;
    overflow: hidden;
    transition-delay: 0.25s;
    }
    .active nav
    {
    transition-delay: 0s;
    }
    nav ul
    {
    width: 95%;
    margin: 0 auto;
    }
    nav ul li
    {
    padding: 5px;
    border-bottom: 1px solid white;
    }
    nav ul li:nth-child(1) a
    {
    transition-delay: 0.1s;
    }
    nav ul li:nth-child(2) a
    {
    transition-delay: 0.15s;
    }
    nav ul li:nth-child(3) a
    {
    transition-delay: 0.2s;
    }
    nav ul li:nth-child(4) a
    {
    transition-delay: 0.25s;
    }
    nav ul li:last-child
    {
    border: none;
    }
    nav ul li a
    {
    transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    position: relative;
    display: block;
    text-decoration: none;
    color: white;
    font-size: 18px;
    padding: 10px;
    -webkit-transform: translate3d(100px, 0, 0);
    opacity: 0;
    }
    .active nav ul li a
    {
    -webkit-transform: translateX(0);
    opacity: 1;
    }
    header
    {
    transition: all 0.4s ease;
    -webkit-transform: translate3d(0, 0, 0);
    left: 0;
    width: 100%;
    position: fixed;
    background: #27ae60;
    color: white;
    padding: 20px;
    text-align: center;
    font-size: 20px;
    transition-delay: 0.25s;
    }
    .active header
    {
    transition-delay: .08s;
    }
    section
    {
    background: #f5f5f5;
    padding-top: 80px;
    }
    article
    {
    background: white;
    height: 500px;
    width: 95%;
    border-radius: 3px;
    margin: 0 auto 20px auto;
    border: 1px solid #e4e4e4;
    }
    .menu-button-target
    {
    background: transparent;
    border: none;
    outline: none;
    cursor: pointer;
    position: absolute;
    z-index: 200;
    left: 10px;
    height: 50px;
    top: 50%;
    margin-top: -23px;
    webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }
    .menu-button-target.active .menu-button
    {
    transition: background .2s ease;
    background-color: transparent;
    }
    .menu-button-target.active .menu-button:before, .menu-button-target.active .menu-button:after
    {
    transition: top .3s ease, -webkit-transform .3s .2s ease;
    }
    .menu-button-target.active .menu-button:before
    {
    top: 0;
    -webkit-transform: rotate(45deg);
    }
    .menu-button-target.active .menu-button:after
    {
    top: 0;
    -webkit-transform: rotate(-45deg);
    }
    .menu-button
    {
    position: relative;
    top: 50%;
    left: 0;
    display: block;
    width: 40px;
    height: 4px;
    margin-top: -2px;
    background-color: white;
    border-radius: 10px;
    transition: background .2s .2s;
    }
    .menu-button:before, .menu-button:after
    {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    background-color: white;
    transition: top .3s .2s ease, -webkit-transform .3s ease;
    border-radius: 10px;
    -webkit-transform-origin: 50% 50%;
    }
    .menu-button:before
    {
    top: -10px;
    -webkit-transform: rotate(0deg);
    }
    .menu-button:after
    {
    top: 10px;
    -webkit-transform: rotate(0deg);
    }

    js代码:

    var $menuTrigger = $('[data-ic-class="button-trigger"]'),
    $menuOverlay = $('[data-ic-class="overlay"]'),
    $menuItem = $('.menu-item'),
    activeClass = 'active',
    $nav = $('nav'),
    $navULHeight = $('.nav-items').outerHeight(),
    navOpen = false,
    $header = $('header');
    var isTouch = false;
    if ($('html').hasClass('touch')) {
    isTouch = true;
    }
    function menuFunction() {
    $menuTrigger.toggleClass(activeClass);
    if (!navOpen) {
    $nav.height($navULHeight);
    navOpen = true;
    $('body').addClass('active');
    $header.css('transform', 'translate3d(0, ' + $navULHeight + 'px, 0)');
    } else {
    $nav.height(0);
    $header.css('transform', 'translate3d(0, 0, 0)');
    navOpen = false;
    $('body').removeClass('active');
    }
    }
    if (isTouch) {
    $menuTrigger.on('touchstart', function () {
    menuFunction();
    });
    }
    if (!isTouch) {
    $menuTrigger.on('click', function () {
    menuFunction();
    });
    }

    感谢你能够认真阅读完这篇文章,希望小编分享的“css3和jquery如何实现可折叠导航菜单适合放在手机网页的导航菜单”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


    本文名称:css3和jquery如何实现可折叠导航菜单适合放在手机网页的导航菜单
    网站网址:http://chengdu.cdxwcx.cn/article/gogess.html