您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章主要介绍了css3和jquery如何实现可折叠导航菜单适合放在手机网页的导航菜单,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
效果图如下:
这个实例由css3和依赖于jquery插件。下面是实现代码
html代码:
<nav class="nav" role="navigation" > <ul class="nav-items"> <li><a target=_blank href="http://www.w2bc.com">Home</a></li> <li><a target=_blank href="http://www.w2bc.com">About</a></li> <li><a target=_blank href="http://www.w2bc.com">Clients</a></li> <li><a target=_blank href="http://www.w2bc.com">Contact Us</a></li> </ul> </nav> <header > <button class="menu-button-target active" data-ic-class="button-trigger"> <span class="menu-button"></span> </button> Example Header </header> <section> <article> </article> <article> </article> <article> </article> <article> </article> <article> </article> </section>
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如何实现可折叠导航菜单适合放在手机网页的导航菜单”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。