导航菜单

简单实用垂直手风琴滑动菜单列表特效

阿里云

这是一款使用 jQuery 和 CSS3 制作的简单实用的垂直手风琴滑动菜单列表特效,该手风琴菜单列表特效通过 CSS3 来制作平滑过渡的动画效果,它的样式时尚大方,代码简单,非常的实用。

HTML 结构:

该垂直手风琴列表的 HTML 结构采用无序列表来制作。每一个菜单项中的子菜单是采用和

也想出现在这里?联系我们
创客主机
  • 元素平级的无序列表来制作。
    1. <ul class="mainmenu">
    2.   <li><img src="images/user.png" alt="User icon" class="icon"><span>Account<span></li>
    3.     <ul class="submenu">
    4.       <div class="expand-triangle"></div>
    5.       <li><span>Basics</span></li>
    6.       <li><span>Picture</span></li>
    7.       <li><span>Go Premium</span></li>
    8.     </ul>
    9.   <li><img src="images/envelope.png" alt="Envelope icon" class="icon"><span>Messages</span><div class="messages">23</div></li>
    10.     <ul class="submenu">
    11.       <div class="expand-triangle"></div>
    12.       <li><span>New</span></li>
    13.       <li><span>Sent</span></li>
    14.       <li><span>Trash</span></li>
    15.     </ul>
    16.   <li><img src="images/cog.png" alt="Cog icon" class="icon"><span>Settings</span></li>
    17.     <ul class="submenu">
    18.       <div class="expand-triangle"></div>
    19.       <li><span>Language</span></li>
    20.       <li><span>Password</span></li>
    21.       <li><span>Notifications</span></li>
    22.       <li><span>Privacy</span></li>
    23.       <li><span>Payments</span></li>
    24.     </ul>
    25.   <li><img src="images/key.png" alt="Key icon" class="icon"><span>Logout</span></li>
    26. </ul>

    CSS 样式:

    该垂直手风琴列表的 CSS 样式非常简单。主菜单采用相对定位,每个菜单项设置固定高度为 48 像素,并且第一个菜单项和最后一个菜单项设置了圆角效果。

    1. .mainmenu {
    2.   margin: 90px auto;
    3.   font-size: 16px;
    4.   position:relative;
    5.   padding:0;
    6. }
    7.  
    8. .mainmenu > li {
    9.   background-color: #e4644b;
    10.   border-top: 1px solid #d05942;
    11.   height: 48px;
    12.   color: #f7f1e3;
    13.   box-sizing: border-box;
    14. }
    15.  
    16. .mainmenu > li:first-child {
    17.   border-radius: 7px 7px 0 0;
    18.   border-top: 0;
    19. }
    20.  
    21. .mainmenu > li:last-child {
    22.   border-radius: 0 0 7px 7px;
    23. }

    主菜单项的小三角形是一张图片。

    1. .expand-triangle {
    2.   background: url("../images/expand.gif") top left no-repeat;
    3.   height: 10px;
    4.   width: 276px;
    5.   content: " ";
    6.   margin-left: -40px;
    7. }

    菜单项页设置了固定的高度为 35 像素,它们会执行一个 border-left 的动画过渡效果,这是在鼠标滑过子菜单项时显示在左侧的竖条动画。

    1. .submenu {
    2.   box-sizing: border-box;
    3.   color: #ae9f9f;
    4.   font-size: 13px;
    5.   content: " ";
    6. }
    7.  
    8. .submenu li {
    9.   line-height: 20px;
    10.   height: 35px;
    11.   padding-top: 11px;
    12.   margin-left: -40px;
    13.   background-color: #484141;
    14.   border-left: solid 6px #484141;
    15.   transition: border-left 220ms ease-in;
    16. }
    17.  
    18. .submenu .chosen,
    19. .submenu .chosen:hover {
    20.   border-left: solid 6px #96d145;
    21. }
    22.  
    23. .submenu li:hover {
    24.   border-left: solid 6px #d05942;
    25. }
    26.  
    27. .submenu li span {
    28.   margin-left:30px;
    29. }

    JAVASCRIPT 代码:

    在 jQuery 代码中,初始化的时候,在延迟 400 毫秒之后,先使第一个主菜单项向下展开。然后在为主菜单和子菜单添加 click 事件监听,为相应的元素添加和移除相应的 class。

    1. $(document).ready( function() {
    2.   var $submenu = $('.submenu');
    3.   var $mainmenu = $('.mainmenu');
    4.   $submenu.hide();
    5.   $submenu.first().delay(400).slideDown(700);
    6.   $submenu.on('click','li', function() {
    7.     $submenu.siblings().find('li').removeClass('chosen');
    8.     $(this).addClass('chosen');
    9.   });
    10.   $mainmenu.on('click', 'li', function() {
    11.     $(this).next('.submenu').slideToggle().siblings('.submenu').slideUp();
    12.   });
    13.   $mainmenu.children('li:last-child').on('click', function() {
    14.     $mainmenu.fadeOut().delay(500).fadeIn();
    15.   });
    16. });

    简单实用垂直手风琴滑动菜单列表特效

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

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

    发表回复

    热销模板

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

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