18、菜单部件(Menu Widget)

带有鼠标和键盘交互的用于导航的可主题化菜单。

菜单可以用任何有效的标记创建,只要元素有严格的父/子关系且每个条目都有一个锚。最常用的元素是无序列表(<ul>):

<ul id="menu">
  <li><a href="#">Item 1</a></li>
  <li><a href="#">Item 2</a></li>
  <li><a href="#">Item 3</a>
    <ul>
      <li><a href="#">Item 3-1</a></li>
      <li><a href="#">Item 3-2</a></li>
      <li><a href="#">Item 3-3</a></li>
      <li><a href="#">Item 3-4</a></li>
      <li><a href="#">Item 3-5</a></li>
    </ul>
  </li>
  <li><a href="#">Item 4</a></li>
  <li><a href="#">Item 5</a></li>
</ul>

如果使用一个非 <ul>/<li> 的结构,为菜单和菜单条目使用相同的元素,请使用 menus 选项来区分两个元素,例如 menus: "div.menuElement"

可通过向元素添加 ui-state-disabled class 来禁用任何菜单条目。

图标

为了向菜单添加图标,请在标记中包含图标:

<ul id="menu">
  <li><a href="#"><span class="ui-icon ui-icon-disk"></span>Save</a></li>
</ul>

菜单(Menu)会自动向无图标的条目添加必要的内边距。

分隔符

分隔符元素可通过包含未链接的菜单条目来创建,菜单条目只能是空格/破折号:

<ul id="menu">
  <li><a href="#">Item 1</a></li>
  <li>-</li>
  <li><a href="#">Item 2</a></li>
</ul>

键盘交互

  • ENTER/SPACE:调用获得焦点的菜单项的动作,可能会打开一个子菜单。

  • UP:移动教导到上一个菜单项。
  • DOWN:移动教导到下一个菜单项。
  • RIGHT:如果可用,则打开子菜单。
  • LEFT:关闭当前子菜单,移动焦点到父菜单项。如果焦点不在子菜单上,则不进行任何操作。
  • ESCAPE:关闭当前子菜单,移动焦点到父菜单项。如果焦点不在子菜单上,则不进行任何操作。

输入一个字母,移动焦点到以该字母开头的第一个条目。重复相同的字符会循环显示匹配的条目。在一个时间内输入更多的字符则匹配所输入的字符。

禁用项可获得键盘焦点,但是不允许任何交互。

主题化

菜单部件(Menu Widget)使用 jQuery UI CSS 框架 来定义它的外观和感观的样式。如果需要使用菜单指定的样式,则可以使用下面的 CSS class 名称:

  • ui-menu:菜单的外层容器。如果菜单包含图标,该元素会另外带有一个 ui-menu-icons class。

    • ui-menu-item:单个菜单项的容器。

      • ui-menu-icon:通过 icons 选项进行子菜单图标设置。
    • ui-menu-divider:菜单项之间的分隔符元素。

依赖

附加说明

  • 该部件要求一些功能性的 CSS,否则将无法工作。如果您创建了一个自定义的主题,请使用小部件指定的 CSS 文件作为起点。

实例

一个简单的 jQuery UI 菜单(Menu)。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>菜单部件(Menu Widget)演示</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <style>
  .ui-menu {
    width: 200px;
  }
  </style>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>

<ul id="menu">
  <li><a href="#">Item 1</a></li>
  <li><a href="#">Item 2</a></li>
  <li><a href="#">Item 3</a>
    <ul>
      <li><a href="#">Item 3-1</a></li>
      <li><a href="#">Item 3-2</a></li>
      <li><a href="#">Item 3-3</a></li>
      <li><a href="#">Item 3-4</a></li>
      <li><a href="#">Item 3-5</a></li>
    </ul>
  </li>
  <li><a href="#">Item 4</a></li>
  <li><a href="#">Item 5</a></li>
</ul>

<script>
$( "#menu" ).menu();
</script>

</body>
</html>

查看演示

原文地址:https://www.cnblogs.com/springsnow/p/12503540.html

时间: 2024-08-09 09:07:41

18、菜单部件(Menu Widget)的相关文章

Android 选项菜单Options Menu

一般的手机上都会有一个home键,单击后会显示出一系列的菜单,这个即是选项菜单(Options Menu),Options Menu开发主要涉及Menu,MenuItem,Submenu. 1.一个Menu对象代表一个菜单,Menu对象可以添加MenuItem,也可以添加子菜单Submenu: 2.MenuItem 对象代表一个菜单选项,通常MenuItem实例通过Menu.add()方法添加. menu.add(int group_id,int item_id,int order,CharSe

yii2 Nav::widget() 和 Menu::widget()

Nav::widget http://www.yiiframework.com/doc-2.0/yii-bootstrap-nav.html Menu::widget()  http://www.yiiframework.com/doc-2.0/yii-widgets-menu.html#$items-detail 这两个widget都是显示菜单的,或者说可以这么干,使用之中返现有个很明显的不同: Nav 的子菜单或者子项目默认使用的ul样式是'dropdown-menu',Menu 默认只用一

Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点( FROM IBM)

Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / 编辑器菜单(ViewPart/Editor Menu)和上下文菜单(Context Menu).在 Eclipse 中,几乎所有的 Workbench Part 提供了人性化的菜单,大大方便了用户的操作.因此,如何扩展 Eclipse 的菜单功能,并实现特定于我们自己插件的菜单,是插件开发者必须掌

IOS的滑动菜单(Sliding Menu)的详细写法(附代码)

滑动菜单是一个非常流行的IOS控件 先上效果图:        这里使用github的JTReveal框架来开发,链接是https://github.com/agassiyzh/JTRevealSidebarDemo/commit/ac03d9d7be4f1392020627e5fe8c22b972de4704 我们的ViewController要实现protocol JTRevealSidebarV2Delegate的两个optional方法 @optional - (UIView *)vie

android菜单(menu)资源

一. 菜单资源通常放在res/menu目录下,菜单资源是的根元素通常是<menu></menu>标记,在该标记下可以包含以下两个元素. 1.<item></item>标记:用于定义菜单项. 2.<group></group>标记:用于将多个<item></item>标记定义的菜单包装成一个菜单组. 在menu_main.xml的具体代码如下: <menu xmlns:android="http:

处女男学Android(十二)---Android 菜单(Menu)详解与应用

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/42170771 本篇blog将记录一下Android中菜单的使用方法,虽然在新版本中推荐使用ActionBar去替代菜单,但我认为菜单依然是挺不错的一种UI交互组件,比ActionBar好点一些,对于手指不灵活的人比起来ActionBar右上角的那个方块小按钮,或许ta会更喜欢Menu呢,废话不多说,下面就具体介绍一下Android中关于Menu的使用方法. 二.创建第一

AxureRP7.0基础教程系列 部件详解 树部件 Tree Widget

原型库网站-讲师金乌原创发布,可自由转载,请注明出处! Axure中文官网:www.AxureRP.cn   <AxureRP7.0部件详解> Tree Widget 树部件 文件浏览 树部件可以用来模拟一个文件浏览器,点击不同的节点将隐藏和显示一个动态面板的不同状态.当一个页面内有太多交互的时候,点击树节点也常被用来跳转到新页面. 编辑树节点 添加/删除树节点 右键点击一个节点,在弹出菜单中你可以添加/删除/移动节点.添加子节点将会添加到该节点的下一层.在该节点前/后添加,是同级节点. 添加

WPF+通过配置文件生成菜单(Menu)+源码

这个月做项目,遇到过一个通过配置文件来生成菜单的解决方案,感觉挺优雅的,特地放到博客园来,以飨读者. 说来惭愧,以前做的项目都没有这样用过,都是固定死了.如果后续有需要加入菜单,还得在重新修改UI,然后提交code,才OK.但是如果通过配置文件的方式进行操作,则可以不用动code,只需要修改配置文件即可. 有兴趣的可以往下看,不难,很简单!~ 先看下这次demo的结构: 1.生成XML式的配置文件菜单项.. 我用XML格式来存储, <MenuList xmlns:xsi="http://w

Extjs-工具条和菜单 Ext.menu和Ext.Toolbar

转载自:http://blog.csdn.net/itlwc/article/details/7878002 1.创建一个简单工具条效果图 [javascript] view plaincopy <script type="text/javascript" defer> Ext.onReady(function(){ // 创建带三个按钮的工具条 var tb = new Ext.Toolbar({ width : 300, items : [{ text: '新建' },