手风琴

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

阿里云

这是一款使用 jQuery 和 css3 制作的效果超酷的 jQuery 和 css3 垂直手风琴折叠菜单插件。该手风琴折叠菜单插件将 css 背景渐变、过渡、旋转等各种动画元素结合起来,形成效果非常酷的手风琴菜单。

HTML 结构:

html 结构使用无序列表,每一个列表项作为一个菜单项使用。

也想出现在这里?联系我们
创客主机
  1. <!-- Contenedor -->
  2. <ul id="accordion" class="accordion">
  3.     <li>
  4.         <div class="link"><i class="fa fa-paint-brush"></i>Diseño web<i class="fa fa-chevron-down"></i></div>
  5.         <ul class="submenu">
  6.             <li><a href="#">Photoshop</a></li>
  7.             <li><a href="#">HTML</a></li>
  8.             <li><a href="#">CSS</a></li>
  9.             <li><a href="#">Maquetacion web</a></li>
  10.         </ul>
  11.     </li>
  12.     <li>
  13.         <div class="link"><i class="fa fa-code"></i>Desarrollo front-end<i class="fa fa-chevron-down"></i></div>
  14.         <ul class="submenu">
  15.             <li><a href="#">Javascript</a></li>
  16.             <li><a href="#">jQuery</a></li>
  17.             <li><a href="#">Frameworks javascript</a></li>
  18.         </ul>
  19.     </li>
  20.     <li>
  21.         <div class="link"><i class="fa fa-mobile"></i>Diseño responsive<i class="fa fa-chevron-down"></i></div>
  22.         <ul class="submenu">
  23.             <li><a href="#">Tablets</a></li>
  24.             <li><a href="#">Dispositivos mobiles</a></li>
  25.             <li><a href="#">Medios de escritorio</a></li>
  26.             <li><a href="#">Otros dispositivos</a></li>
  27.         </ul>
  28.     </li>
  29.     <li><div class="link"><i class="fa fa-globe"></i>Posicionamiento web<i class="fa fa-chevron-down"></i></div>
  30.         <ul class="submenu">
  31.             <li><a href="#">Google</a></li>
  32.             <li><a href="#">Bing</a></li>
  33.             <li><a href="#">Yahoo</a></li>
  34.             <li><a href="#">Otros buscadores</a></li>
  35.         </ul>
  36.     </li>
  37. </ul>

CSS 样式:

下面来给手风琴折叠菜单添加一些样式。

  1. * {
  2.     margin: 0;
  3.     padding: 0;
  4.     -webkit-box-sizing: border-box;
  5.     -moz-box-sizing: border-box;
  6.     box-sizing: border-box;
  7. }
  8. body {
  9.     background: #2d2c41;
  10.     font-family: 'Open Sans', Arial, Helvetica, Sans-serif, Verdana, Tahoma;
  11. }
  12. ul {
  13.     list-style-type: none;
  14. } 
  15. a {
  16.     color: #b63b4d;
  17.     text-decoration: none;
  18. }
  19. /** =======================
  20.  * Contenedor Principal
  21.  ===========================*/
  22. .accordion {
  23.     width: 100%;
  24.     max-width: 360px;
  25.     margin: 30px auto 20px;
  26.     background: #FFF;
  27.     -webkit-border-radius: 4px;
  28.     -moz-border-radius: 4px;
  29.     border-radius: 4px;
  30.  }
  31. .accordion .link {
  32.     cursor: pointer;
  33.     display: block;
  34.     padding: 15px 15px 15px 42px;
  35.     color: #4D4D4D;
  36.     font-size: 14px;
  37.     font-weight: 700;
  38.     border-bottom: 1px solid #CCC;
  39.     position: relative;
  40.     -webkit-transition: all 0.4s ease;
  41.     -o-transition: all 0.4s ease;
  42.     transition: all 0.4s ease;
  43. }
  44. .accordion li:last-child .link {
  45.     border-bottom: 0;
  46. }
  47. .accordion li i {
  48.     position: absolute;
  49.     top: 16px;
  50.     left: 12px;
  51.     font-size: 18px;
  52.     color: #595959;
  53.     -webkit-transition: all 0.4s ease;
  54.     -o-transition: all 0.4s ease;
  55.     transition: all 0.4s ease;
  56. }
  57. .accordion li i.fa-chevron-down {
  58.     right: 12px;
  59.     left: auto;
  60.     font-size: 16px;
  61. }
  62. .accordion li.open .link {
  63.     color: #b63b4d;
  64. }
  65. .accordion li.open i {
  66.     color: #b63b4d;
  67. }
  68. .accordion li.open i.fa-chevron-down {
  69.     -webkit-transform: rotate(180deg);
  70.     -ms-transform: rotate(180deg);
  71.     -o-transform: rotate(180deg);
  72.     transform: rotate(180deg);
  73. }

子菜单 CSS 样式:

  1. /**
  2.  * Submenu
  3.  -----------------------------*/
  4.  .submenu {
  5.     display: none;
  6.     background: #444359;
  7.     font-size: 14px;
  8.  }
  9.  .submenu li {
  10.     border-bottom: 1px solid #4b4a5e;
  11.  }
  12.  .submenu a {
  13.     display: block;
  14.     text-decoration: none;
  15.     color: #d9d9d9;
  16.     padding: 12px;
  17.     padding-left: 42px;
  18.     -webkit-transition: all 0.25s ease;
  19.     -o-transition: all 0.25s ease;
  20.     transition: all 0.25s ease;
  21.  }
  22.  .submenu a:hover {
  23.     background: #b63b4d;
  24.     color: #FFF;
  25.  }

现在,你看到的手风琴折叠菜单的样子如下图所示:

JAVASCRIPT 代码:

首先定义 Accordion 对象:

  1. var Accordion = function(el, multiple) {
  2.     this.el = el || {};
  3.     this.multiple = multiple || false;
  4.  
  5.     // Variables privadas
  6.     var links = this.el.find('.link');
  7.     // Evento
  8.     links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown)
  9. }

为手风琴 Accordion 添加下拉菜单事件:

  1. Accordion.prototype.dropdown = function(e) {
  2.     var $el = e.data.el;
  3.         $this = $(this),
  4.         $next = $this.next();
  5.  
  6.     $next.slideToggle();
  7.     $this.parent().toggleClass('open');
  8.  
  9.     if (!e.data.multiple) {
  10.         $el.find('.submenu').not($next).slideUp().parent().removeClass('open');
  11.     };
  12. }

然后可以通过下面语句调用手风琴下拉菜单:

  1. var accordion = new Accordion($('#accordion'), false);

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

已有 470 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!