jQuery和CSS3创建可访问 超级菜单

  • 源码大小:121.71KB
  • 所需积分:1积分
  • 源码编号:19JP-3600
  • 浏览次数:627次
  • 最后更新:2023年06月30日
  • 所属栏目:其他
本站默认解压密码:19jp.com 或 19jp_com

简介

一个jQuery导航插件,用于在涉及大量页面和/或产品的网站上创建键盘和屏幕阅读器可访问的超级菜单。

基本用法:

1.包括来自谷歌CDN的最新版本的jQuery库。

  1. <script src="/path/to/cdn/jquery.min.js"></script>

2.在页面中包含jQuery Accessible Mega Menu的脚本和样式表文件。

  1. <link rel="stylesheet" href="css/megamenu.css">
  2. <script src="js/jquery-accessibleMegaMenu.js"></script>

3.按照Html结构创建一个巨型菜单:

  1. <nav>
  2. <ul class="nav-menu">
  3. <li class="nav-item"> <a href="#">jQuery</a>
  4. <div class="sub-nav">
  5. <ul class="sub-nav-group">
  6. <li><a href="#">jQuery 1</a></li>
  7. <li><a href="#">jQuery 2</a></li>
  8. <li>&#8230;</li>
  9. </ul>
  10. <ul class="sub-nav-group">
  11. <li><a href="#">jQuery 3</a></li>
  12. <li><a href="#">jQuery 4</a></li>
  13. <li>&#8230;</li>
  14. </ul>
  15. <ul class="sub-nav-group">
  16. <li><a href="#">jQuery 5</a></li>
  17. <li><a href="#">jQuery 6</a></li>
  18. <li>&#8230;</li>
  19. </ul>
  20. </div>
  21. </li>
  22. <li class="nav-item"> <a href="?tv">Zepto</a>
  23. <div class="sub-nav">
  24. <ul class="sub-nav-group">
  25. <li><a href="#">Zepto 1</a></li>
  26. <li><a href="#">Zepto 2</a></li>
  27. <li>&#8230;</li>
  28. </ul>
  29. <ul class="sub-nav-group">
  30. <li><a href="#">Zepto 3</a></li>
  31. <li><a href="#">Zepto 4</a></li>
  32. <li>&#8230;</li>
  33. </ul>
  34. <ul class="sub-nav-group">
  35. <li><a href="#">Zepto 5</a></li>
  36. <li><a href="#">Zepto 6</a></li>
  37. <li>&#8230;</li>
  38. </ul>
  39. </div>
  40. </li>
  41. </ul>
  42. </nav>

4.使用默认选项初始化超级菜单。

  1. $(document).ready(function () {
  2. $('.megamenu').accessibleMegaMenu();
  3. });

5.所有设置。

  1. $('.megamenu').accessibleMegaMenu({
  2.  
  3. // unique ID's are required to indicate aria-owns, aria-controls and aria-labelledby
  4. uuidPrefix: "accessible-megamenu",
  5.  
  6. // default css class used to define the megamenu styling
  7. menuClass: "accessible-megamenu",
  8.  
  9. // default css class for a top-level navigation item in the megamenu
  10. topNavItemClass: "accessible-megamenu-top-nav-item",
  11.  
  12. // default css class for a megamenu panel
  13. panelClass: "accessible-megamenu-panel",
  14.  
  15. // default css class for a group of items within a megamenu panel
  16. panelGroupClass: "accessible-megamenu-panel-group",
  17.  
  18. // default css class for the hover state
  19. hoverClass: "hover",
  20.  
  21. // default css class for the focus state
  22. focusClass: "focus",
  23.  
  24. // default css class for the open state});
  25. openClass: "open",
  26.  
  27. // default open delay when opening menu via mouseover
  28. openDelay: 0,
  29.  
  30. // default open delay when opening menu via mouseover
  31. closeDelay: 250
  32.  
  33. });

更新日志:

2022-04-26

  • 修复以下示例中的列布局
  • 修复了打开面板之间的箭头向上导航

2022-04-23

  • 错误修复

2018-05-12

  • 添加openOnMouseover设置,并切换ButtonClass以实现响应布局

2017-07-29

  • 删除代码注释外的非js文本

2017-07-28

  • 增加了closeDelay选项,而不是硬编码值

2017-03-25

  • 将鼠标悬停在菜单上时添加可选延迟
  • 修复顶部导航项目的CSS样式

2015-05-21

  • 不要阻止点击切换中的元素

2014-08-28

  • 如果导航项的重点是页面加载,则在关注的元素上触发focusin事件,这样它将展开菜单面板,而不是导航到底层url。

2014-04-03

  • 修正了:字母数字搜索的正确行为

2014-03-07

  • 修正了:Firefox、IE、Opera中的顶级菜单需要两次鼠标点击。

2014-01-22

  • 错误已修复。

预览截图