`

css3和jquery实现的可折叠导航菜单(适合手机网页)

 
阅读更多

 

<nav class="nav" role="navigation" style="height: 195px;">
        <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 style="-webkit-transform: translate3d(0px, 195px, 0px);">
  <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>

 

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

 

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



 

  • 大小: 36.9 KB
分享到:
评论

相关推荐

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

    今天介绍的是一款利用CSS3和jQuery实现的可折叠导航菜单,其设计目的是为了在移动设备的网页上提供一个简洁且易用的导航解决方案。 从标题中我们可以得知,这个导航菜单具有以下特点:1)可折叠功能;2)适合用于...

    jquery+css3左右摇摆可滑动展开折叠导航菜单

    "jQuery+CSS3左右摇摆可滑动展开折叠导航菜单"是一个利用这两种技术创建的交互式菜单,它提供了吸引用户的动态视觉效果。在这个项目中,我们将深入探讨如何使用jQuery和CSS3来构建这样的功能。 首先,jQuery是一个...

    jquery手风琴折叠导航菜单特效

    总之,jQuery手风琴折叠导航菜单特效是通过结合HTML、CSS和jQuery JavaScript库实现的一种高效的空间管理方案。它提高了导航的可用性和网站的视觉吸引力,尤其适用于侧边栏导航,使用户能轻松地探索和访问网站的多...

    实用jQuery可折叠收缩导航菜单特效代码

    在网页设计中,导航菜单是不可...总的来说,这个"实用jQuery可折叠收缩导航菜单特效代码"展示了如何利用jQuery和CSS创建交互性强、视觉效果佳的网页导航菜单。开发者可以学习并自定义这些代码,以适应他们的项目需求。

    简洁JQuery可折叠竖导航菜单

    可折叠导航菜单在网页设计中扮演着重要角色,尤其是在移动设备上。它可以节省屏幕空间,使得用户能够方便地展开和收起菜单项,从而改善用户体验。简洁的JQuery竖导航菜单正是这种设计理念的体现,它既保持了界面的...

    jQuery动画垂直折叠导航效果

    在网页设计中,导航栏是不可或缺的部分,它帮助用户快速浏览和访问网站的不同部分。而jQuery作为一款强大的JavaScript库,提供了丰富的功能来实现各种动态效果,包括垂直折叠导航。本篇将深入探讨如何利用jQuery创建...

    jQuery和css3炫酷折叠菜单插件

    总的来说,这款jQuery和CSS3折叠菜单插件不仅展示了jQuery和CSS3的强大功能,还为开发者提供了一种易于实施、可自定义的解决方案,帮助他们在网站或应用中创建引人注目的导航体验。无论是在大型项目还是个人作品中,...

    基于jquery+css3实现左右摇摆可滑动展开折叠圆形导航菜单

    本项目聚焦于创建一个独特且交互性强的导航菜单,采用jQuery和CSS3技术,实现了一个左右摇摆、可滑动展开与折叠的圆形导航菜单。这个设计既提升了用户体验,也增加了网站的视觉吸引力。 首先,jQuery是一个轻量级的...

    jQuery后台管理系统可折叠左侧导航菜单特效

    本主题聚焦于"jQuery后台管理系统可折叠左侧导航菜单特效",这通常涉及到网页应用的用户界面(UI)设计,尤其是针对后台管理系统的优化。 首先,这个特效的核心在于提供一个可折叠的左侧导航菜单。这种设计旨在提高...

    jQuery和css3垂直手风琴折叠菜单插件

    在网页设计中,导航菜单是不可或缺的一部分,而手风琴菜单则因其节省空间、交互性强的特点受到广泛应用。本篇文章将深入探讨如何使用jQuery和CSS3技术创建一款效果酷炫的垂直手风琴折叠菜单插件。 首先,jQuery是一...

    jquery手风琴折叠式导航菜单特效!

    在网页设计中,导航菜单是不可或缺的部分,它帮助用户快速找到他们感兴趣的内容。"jQuery手风琴折叠式导航菜单特效"是一种高效的交互设计,尤其适用于有限的屏幕空间,如侧边栏导航。本文将深入探讨这个特效的工作...

    jQuery和CSS3汉堡包导航菜单打开动画特效

    随着技术的发展,交互性和视觉效果越来越受到重视,"jQuery和CSS3汉堡包导航菜单打开动画特效"就是一个典型的例子,它将功能与美学巧妙结合,为用户提供了一种新颖、动态的交互体验。 首先,我们来详细了解一下...

    jQuery可折叠图标菜单 jQuery可折叠图标菜单网页特效.zip

    jQuery可折叠图标菜单是一种常见的网页交互元素,常用于网站导航,它可以提高用户界面的可用性和美观性。在网页设计中,这种菜单允许用户通过点击图标或按钮来展开或收起子菜单,以此来节省空间并优化用户体验。在这...

    jquery实现多级导航菜单

    在网页设计中,导航菜单是不可或缺的部分,它帮助用户快速浏览和访问网站的不同部分。当涉及到多级导航菜单时,情况会变得更加复杂,因为它需要处理更深层次的链接组织。jQuery作为一个强大的JavaScript库,提供了...

    jQuery响应式导航菜单.zip

    在网页设计中,导航菜单是不可或缺的部分,它帮助用户快速浏览和访问网站的不同部分。"jQuery响应式导航菜单"是一个专为实现这一目的而设计的解决方案。这个项目使用了两个核心JavaScript库:jQuery 1.8.3和pgwmenu....

    jQuery CSS3实现紫色导航菜单.zip

    本项目“jQuery CSS3实现紫色导航菜单”旨在利用JavaScript库jQuery和CSS3技术,创建一个美观、动态且响应式的紫色主题导航菜单。下面我们将深入探讨这个主题中的关键知识点。 1. **jQuery**: - jQuery 是一个轻...

    jQuery手机端无限级导航下拉菜单代码

    总结来说,"jQuery手机端无限级导航下拉菜单代码"利用jQuery库,通过JavaScript和CSS实现了一个可无限扩展的移动端导航菜单。这个菜单不仅节省了屏幕空间,还提供了流畅的用户交互体验,是移动应用和网站导航设计的...

    Css3折叠菜单-可展开的树形导航菜单.rar

    Css3折叠菜单-可展开的树形导航菜单,其实就是折叠、展开式的菜单,应用了HTML5重绘而成,无使用jquery,完全CSS3技术实现,面向Android手机等移动终端设备浏览,请注意不要使用IE等浏览器查看效果。

    jquery右侧滑动折叠效果导航菜单

    在网页设计中,导航菜单是不可或缺的部分,它帮助用户快速浏览和访问网站的不同部分。"jQuery右侧滑动折叠效果导航菜单"是一种常见的交互设计模式,它提升了用户体验,尤其是在响应式设计中,对于有限的屏幕空间尤其...

    使用repeater jquery实现的三级可折叠树形菜单

    这里我们关注的是“使用repeater jQuery实现的三级可折叠树形菜单”,这是一个高效且灵活的方法来构建这种功能。下面将详细介绍这个主题。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和...

Global site tag (gtag.js) - Google Analytics