手风琴

js和CSS3漂亮的手风琴菜单特效

阿里云


这是一款使用 js 和 CSS3 制作的漂亮的垂直手风琴菜单特效。该垂直手风琴特效使用无序列表进行布局,通过 CSS3 代码进行美化,最后通过 js 代码来进行点击交互。

使用方法:

在页面中引入样式文件 style.css 和字体图标文件 font-awesome.css。

也想出现在这里?联系我们
创客主机
  1. <link href="css/font-awesome.min.css" rel="stylesheet">
  2. <link rel="stylesheet" href="css/style.css">

HTML 结构:

使用一个无序列表作为该垂直手风琴菜单的 HTML 结构。

  1. <ul class="menu">
  2.    <li class="list"><a href="#">List 1 </a> 
  3.       <ul class="items">
  4.          <li><a href="#"> Item 1-1</a></li>
  5.          <li><a href="#"> Item 1-2</a></li>
  6.          <li><a href="#"> Item 1-3</a></li>
  7.       </ul>
  8.    </li>
  9.    <li class="list"><a href="#">List 2</a> 
  10.       <ul class="items">
  11.          <li> <a href="#" > Item 2-1 </a></li>
  12.          <li> <a href="#" > Item 2-2 </a></li>
  13.          <li> <a href="#" > Item 2-3 </a></li>
  14.       </ul>
  15.    </li>
  16.    <li class="list"><a href="#">List 3</a> 
  17.       <ul class="items">
  18.          <li> <a href="#" > Item 3-1 </a></li>
  19.          <li> <a href="#" > Item 3-2 </a></li>
  20.          <li> <a href="#" > Item 3-2 </a></li>
  21.       </ul>
  22.    </li>
  23.    <li class="list"><a href="#">List 4</a> 
  24.       <ul class="items">
  25.          <li> <a href="#" > Item 4-1 </a></li>
  26.          <li> <a href="#" > Item 4-2 </a></li>
  27.          <li class="list"><a href="#">List 4-1</a> 
  28.             <ul  class="items">
  29.                <li> <a href="#" > Item 4-1-1</a></li>
  30.                <li> <a href="#" > Item 4-1-2</a></li>
  31.                <li class="list"><a href="#">List 4-2</a> 
  32.                   <ul  class="items">
  33.                      <li> <a href="#" > Item 4-2-1</a></li>
  34.                      <li> <a href="#" > Item 4-2-2</a></li>
  35.                   </ul>
  36.                </li>
  37.             </ul>
  38.          </li>
  39.       </ul>
  40.    </li>
  41. </ul>

初始化插件:

在页面 DOM 元素加载完毕之后,通过下面的方法来初始化该垂直手风琴特效。

  1. var list = document.querySelectorAll('.list');
  2. function accordion(e) {
  3.     e.stopPropagation();
  4.     if (this.classList.contains('active')) {
  5.         this.classList.remove('active');
  6.     } else
  7.     if (this.parentElement.parentElement.classList.contains('active')) {
  8.         this.classList.add('active');
  9.     } else
  10.     {
  11.         for (i = 0; i < list.length; i++) {
  12.             list[i].classList.remove('active');
  13.         }
  14.         this.classList.add('active');
  15.     }
  16. }
  17. for (i = 0; i < list.length; i++) {
  18.     list[i].addEventListener('click', accordion);
  19. }

该垂直手风琴菜单特效的 codepen 地址为:https://codepen.io/ahmadbassamemran/pen/BPbVPe

js 和 CSS3 漂亮的手风琴菜单特效

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

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

发表回复

热销模板

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

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