个性化阅读
专注于IT技术分析

jQuery UI菜单

本文概述

jQuery UI Menu小部件由带有弹出菜单的主菜单栏组成。弹出菜单中的某些项目还具有子弹出菜单。只要维护父子关系, 就可以使用标记元素来创建这些菜单。

jQuery UI使用menu()方法创建菜单。

句法:

你可以两种形式使用menu()方法。

$(selector, context).menu (options) Method
$(selector, context).menu ("action", params) Method

第一种方法

menu(选项)方法指定应将HTML元素及其内容视为菜单进行管理。这里的options参数是一个对象, 它指定所涉及菜单项的外观和行为。

句法:

$(selector, context).menu (options);

你可以使用JavaScript对象一次使用一个或多个选项。如果有多个选项, 则必须使用逗号将它们分开, 如下所示:

$(selector, context).menu({option1: value1, option2: value2..... });

以下是可与该方法一起使用的不同选项的列表。

选项 描述
disabled 如果将此选项设置为true, 它将禁用菜单。默认情况下, 其值为false。
icons 此选项设置子菜单的图标。默认情况下, 其值为{子菜单:“ ui-icon-carat-1-e”}。
menus 此选项是用作菜单容器的元素(包括子菜单)的选择器。默认情况下, 其值为ul。
position 此选项设置子菜单相对于关联的父菜单项的位置。默认情况下, 其值为{my:“ left top”, at:“ right top”}。
role 此选项用于自定义用于菜单和菜单项的aria角色。默认情况下, 其值为菜单。

jQueryUI菜单示例1

让我们以一个简单的示例来演示菜单小部件的功能, 不向menu()方法传递任何参数。

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <title>jQuery UI Menu functionality</title>
      <link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
      <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <!-- CSS -->
      <style>
         .ui-menu {
            width: 200px;
         }
      </style>
      <!-- Javascript -->
      <script>
         $(function() {
            $( "#menu-1" ).menu();
         });
      </script>
   </head>
   <body>
      <!-- HTML --> 
      <ul id="menu-1">
         <li><a href="#">C</a></li>
         <li><a href="#">C++</a></li>
         <li><a href="#">Java</a>
            <ul>
               <li><a href="#">Core Java</a></li>
               <li><a href="#">J2EE</a></li>
               <li><a href="#">Spring</a></li>
               <li><a href="#">Hibernate</a></li>
               <li><a href="#">Struts</a></li>
            </ul>
         </li>
         <li><a href="#">JSF</a></li>
         <li><a href="#">HTML5</a></li>
      </ul>
   </body>
</html>

立即测试

jQuery UI Menu()示例2

使用图标和位置:

让我们以一个示例来演示jQuery UI主要功能中两个选项图标和位置的用法。

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <title>jQuery UI Menu functionality</title>
      <link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
      <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <!-- CSS -->
      <style>
         .ui-menu {
            width: 200px;
         }
      </style>
      <!-- Javascript -->
      <script>
         $(function() {
            $( "#menu-2" ).menu({
               icons: { submenu: "ui-icon-circle-triangle-e"}, position: { my: "right top", at: "right-10 top+5" }
            });
         });
      </script>
   </head>
   <body>
      <!-- HTML --> 
      <ul id="menu-2">
         <li><a href="#">C</a></li>
         <li><a href="#">C++</a></li>
         <li><a href="#">Java</a>
            <ul>
               <li><a href="#">Core Java IO</a></li>
               <li><a href="#">J2EE</a></li>
               <li><a href="#">Spring</a></li>
                <li><a href="#">Hibernate</a></li>
                 <li><a href="#">Struts</a></li>
            </ul>
         </li>
         <li><a href="#">JSF</a></li>
         <li><a href="#">HTML5</a></li>
      </ul>
   </body>
</html>

立即测试

第二种方法

菜单(“操作”, 参数)方法用于对菜单元素执行操作, 例如启用/禁用菜单。该操作在第一个参数中指定为字符串(例如, “ disable”禁用菜单)。在下表中检查可以传递的操作。

句法:

$(selector, context).menu ("action", params);

以下是可以与该方法一起使用的不同操作的列表。

行动 描述
blur( [event ] ) 此操作将焦点从菜单中删除。它通过重置任何活动元素样式来触发菜单的模糊事件。事件在这里是事件类型, 代表触发菜单模糊的原因。
collapse( [event ] ) 此操作将关闭当前活动的子菜单。这里的事件是事件类型, 代表触发菜单崩溃的原因。
collapseall( [event ] [, all ] ) 此操作将关闭所有打开的子菜单。
destroy() 此操作将完全删除菜单功能。这将使元素返回其初始状态。此方法不接受任何参数。
disable() 此操作将禁用菜单。此方法不接受任何参数。
enable() 此操作用于启用菜单。此方法不接受任何参数。
expand( [event ] ) 该操作用于打开当前活动项目下方的子菜单(如果存在)。这里的事件是事件类型, 代表触发菜单展开的原因。
focus( [event ], item ) 此操作将激活特定的菜单项, 开始打开任何子菜单(如果存在)并触发菜单的焦点事件。这里的事件是事件类型, 代表触发菜单获取焦点的事件, 而item是表示要聚焦/激活的菜单项的jQuery对象。
isFirstItem() 此操作返回一个布尔值, 该值指示当前活动菜单项是否是第一个菜单项。此方法不接受任何参数。
isLastItem() 此操作返回一个布尔值, 该值指示当前活动菜单项是否为最后一个菜单项。此方法不接受任何参数。
Next( [event ] ) 此操作将活动状态委托给下一个菜单项。这里的事件是事件类型, 表示触发焦点移动的原因。
Nextpage( [event ] ) 此操作将活动状态移至可滚动菜单底部下方的第一个菜单项, 如果不可滚动则移至最后一个菜单项。这里的事件是事件类型, 表示触发焦点移动的原因。
option( optionName ) 此操作获取当前与指定的optionName关联的值。这里的optionName是字符串类型, 表示要获取的选项的名称。
option() 此操作获取一个对象, 该对象包含表示当前菜单选项哈希的键/值对。
option( optionName, value ) 此操作设置与指定的optionName关联的菜单选项的值。在这里, optionName是字符串类型, 代表要设置的选项的名称, value是对象类型, 代表要为选项设置的值。
option( options ) 此操作为菜单设置一个或多个选项。这里的options是object类型, 代表要设置的option-value对的映射。
previous( [event ] ) 此操作将活动状态移至上一个菜单项。这里的事件是事件类型, 表示触发焦点移动的原因。
previouspage( [event ] ) 此操作将活动状态移至可滚动菜单顶部上方的第一个菜单项, 如果不可滚动, 则将其移至第一项。这里的事件是事件类型, 表示触发焦点移动的原因。
refresh() 此操作将初始化尚未初始化的子菜单和菜单项。此方法不接受任何参数。
select( [event ] ) 此操作将选择当前活动的菜单项, 折叠所有子菜单并触发菜单的选择事件。这里的事件是事件类型, 代表触发选择的原因。
widget() 该操作返回一个包含菜单的jQuery对象。此方法不接受任何参数。

jQueryUI Menu()示例3

使用focus和collapseAll方法:

让我们以一个示例来演示聚焦和折叠全部方法的使用。

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <title>jQuery UI Menu functionality</title>
      <link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
      <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <!-- CSS -->
      <style>
         .ui-menu {
            width: 200px;
         }
      </style>
      <!-- Javascript -->
      <script>
         $(function() {
            var menu = $("#menu-4").menu();
            $( "#menu-4" ).menu("focus", null, $( "#menu-4" ).menu().find( ".ui-menu-item:last" ));
            $(menu).mouseleave(function () {
               menu.menu('collapseAll');
            });
         });
      </script>
   </head>
   <body>
      <!-- HTML --> 
      <ul id="menu-4">
         <li><a href="#">C</a></li>
         <li><a href="#">C++</a></li>
         <li><a href="#">JSF</a></li>
         <li><a href="#">HTML5</a></li>
         <li><a href="#">Java</a>
            <ul>
               <li><a href="#">Core Java</a></li>
               <li><a href="#">J2EE</a></li>
               <li><a href="#">Spring</a></li>
               <li><a href="#">Hibernate</a></li>
               <li><a href="#">Struts</a></li>
       </ul>
         </li>
      </ul>
   </body>
</html>

立即测试

赞(0)
未经允许不得转载:srcmini » jQuery UI菜单

评论 抢沙发

评论前必须登录!