如何启用 jQuery UI 菜单?

jqueryweb developmentfront end technology

JQuery 是一个快速简便的 Javascript 库,用于通过 HTML 创建客户端菜单。它简化了一些 Javascript 函数,例如 DOM 操作、遍历、事件处理和 AJAX 调用。它还具有跨浏览器兼容性。

什么是 jQuery UI 菜单?

jQuery UI 菜单是基于 jQuery UI 核心构建的组件,用于创建下拉菜单和其他导航菜单选项。这些菜单可以通过鼠标指针和键盘点击访问。它还允许开发人员创建菜单并应用自定义样式和主题。这些菜单包括包含菜单和子菜单的层级菜单。

jQuey UI 菜单的一些重要功能:

  • 事件和回调:jQuery UI 菜单允许开发者处理用户交互并自定义菜单行为,它支持各种事件和回调,例如模糊、创建、聚焦和选择。

  • 键盘导航:这允许用户通过键盘上的箭头键在菜单中导航,并使用 Enter/Space 键打开/执行菜单项的操作。Esc 键也可用于关闭当前菜单/子菜单。

方法 1:使用 menu() 方法

使用 jQuery UI 菜单小部件的 .menu() 方法以及 <ul> 和 <li> 启用 jQuery UI 菜单项。

算法

步骤 1:创建一个 HTML 文件,在 <head> 标签中包含 jQuery 和 jQuery UI 库。然后使用 <ul> 和 <li> 创建列表项。

步骤 2:现在为列表项分配一个 ID。

步骤 3:现在在 <script> 标签内,使用 .menu() 方法初始化菜单项。此操作必须在 DOM 加载后完成,并将初始化代码包装在 ready() 函数中,以确保它在页面加载后运行。

示例

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JQuery UI Menu</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
    <script>
      $(document).ready(function() {
        $("#items").menu();
      });
    </script>

</head>
<body>
    <div style="text-align: center;">
        <h2>Tutorials Point Menu Items</h2>
        <ul id="items">
          <li>Item 1</li>
          <li>Item 2</li>
          <li>Item 3</li>
      </ul>
    </div>
</body>
</html>

方法 2:将 data-widget 属性与 menu() 方法结合使用。

另一种可行的技术是在 jQuery UI 中将 data-widget 属性与 menu() 函数结合使用。此属性可用作识别 HTML 元素的工具,然后可以使用该函数初始化 HTML 元素。

算法

步骤 1: 在 HTML 文件的 <head> 部分导入 jQuery 和 jQuery UI 库及脚本。

步骤 2: 添加 <ul> 和 <li> 元素以创建列表项,然后为 <ul> 标签添加唯一 ID。

步骤 3: 将 'data-widget' 属性设置为顶级 <ul>,并将 <ul> 的值设置为元素添加到 "menu"。

步骤 4: 在 <script> 标签内,选择"data-widget"属性并使用 menu() 方法启用 UI 菜单。

示例

<!DOCTYPE html>
<html>
<head>
    <title>jQuery UI Menu Example</title>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
    <script>
        $(document).ready(function() {
            $("[data-widget='menu']").menu({
        position: { my: "left top", at: "right top" }
      });
        });
    </script>
     <style>
        .ui-menu {
            width: 8em;
        }
    </style>
</head>

<body style="text-align: center;">
   
    <h2>Tutorials Point Menu Items</h2>
    <ul data-widget="menu">
       
        <li>Courses</li>
        <li>
            <div>Programming</div>
            <ul>
                <li>
                    <div>Python</div>
                </li>
                <li>
                    <div>Java</div>
                </li>
                <li>
                    <div>Javascript</div>
                </li>
                <li>
                    <div>C++</div>
                </li>
            </ul>
        </li>
         
        <li>
            <div>Web</div>
            <ul>
                <li>
                    <div>Backend</div>
                    <ul>
                        <li>
                            <div>Node.js</div>
                        </li>
                    </ul>
                </li>
                <li>
                    <div>Frontend</div>
                </li>
            </ul>
        </li>
 
        <li>
            <div>Mobile</div>
        </li>
    </ul>
 
</body>
</html>

方法 3:使用 each() 方法

为了增强 jQuery UI 菜单,另一种方法是利用 each() 函数。这将使我们能够浏览各个菜单元素,然后执行 .menu() 操作。

算法

步骤 1: 在 <head> 标签中包含 jQuery 和 jQuery UI 库。

步骤 2: 为位于最顶层的 <ul> 标签添加一个唯一的 ID 名称。

步骤 3: 使用 each() 方法迭代带有 menu 类的每个元素,然后调用 .menu() 方法。

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JQuery UI Menu</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
    <script>
      $(document).ready(function() {
          $(".menu").each(function() {
              $(this).menu();
          });
      });


  </script>

</head>
<body>
  <div style="text-align: center;">

    <h2>Tutorials Point Menu Items</h2>
    <ul class="menu">
        <li><a href="#">Menu Item 1</a></li>
        <li><a href="#">Menu Item 2</a>
          <ul>
            <li><a href="#">Submenu Item 1</a></li>
            <li><a href="#">Submenu Item 2</a></li>
            <li><a href="#">Submenu Item 3</a></li>
          </ul>
        </li>
        <li><a href="#">Menu Item 3</a></li>
    </ul>
     
    <ul class="menu">
        <li><a href="#">Menu Item A</a></li>
        <li><a href="#">Menu Item B</a>
          <ul>
            <li><a href="#">Submenu Item X</a></li>
            <li><a href="#">Submenu Item Y</a></li>
            <li><a href="#">Submenu Item Z</a></li>
          </ul>
        </li>
        <li><a href="#">Menu Item C</a></li>
    </ul>
     
</div>
</body>
</html>

结论

以上三种方法均可用于启用 jQuery UI 菜单。您可以使用其中任意一种,但最易于使用的是 menu() 方法,该方法可以使用 CSS 样式进行更多自定义。这些菜单项可以与诸如折叠、聚焦、模糊等事件和方法一起使用,从而增强其交互性。


相关文章