jQuery UI菜单部件Menu Widget

目录
  • 实例
  • 二、图标
  • 三、分隔符
  • 四、键盘交互
  • 五、主题化
  • 六、快速导航
    • 1、Options
    • 2、Methods
    • 3、Events

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

实例

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

代码

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

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

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

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

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

二、图标

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

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

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

三、分隔符

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

<ul id="menu">
  <li><a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >Item 1</a></li>
  <li>-</li>
  <li><a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >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:菜单项之间的分隔符元素。

六、快速导航

1、Options

  • disabled:如果设置为 true,则禁用该 menu(菜单)。
  • icons:标题要使用的图标,与 jQuery UI CSS 框架提供的图标(Icons) 匹配。设置为 false 则不显示图标。
  • menus:作为menu(菜单)容器的元素的选择器, 包括子菜单。
  • position:标识建议菜单的位置与相关的 input 元素有关系。of 选项默认为 input 元素,但是您可以指定另一个定位元素。
  • role:自定义用于菜单和菜单项的ARIA roles(注:关于ARIA roles)。 在默认情况下菜单项使用"menuitem"。 设置role选项为了使"listbox"使用"option"作为菜单项。 如果设置为null, 没有roles将被设置,如果菜单是由被保持焦点另一个元件控制时候,非常有用。

2、Methods

  • blur():从菜单中删除焦点, 重置任何激活样式 和 触发菜单的 blur 事件。
  • collapse():关闭当前活动的子菜单。
  • collapseAll():关闭全部打开的子菜单。
  • destroy():完全移除 menu 功能. 这将使元素返回到之前的初始化状态.
  • disable():禁用 menu.
  • enable():启用 menu.
  • expand():打开当前活动项目下的子菜单下,如果有的话。
  • focus():激活一个特定的菜单项, 首先,如果打开存在的任何子菜单,并触发菜单的focus事件。
  • isFirstItem():返回一个布尔值,说明当前活动项目是否菜单的第一项。
  • isLastItem():返回一个布尔值,说明当前活动项目是否菜单的最后一项。
  • next():移动激活状态到下一个菜单项。
  • nextPage():移动激活状态到第一个菜单项下的可滚动菜单的底部,或最后一个项目,如果不可滚动。
  • option():
  • previous():移动激活状态到上一个菜单项。
  • previousPage():移动激活状态到第一个菜单项下的可滚动菜单的顶部,或第一一个项目,如果不可滚动。
  • refresh():初始化还没有被初始化的子菜单和菜单项。 新的菜单项, 包括子菜单可以被添加到菜单 或 所有的菜单的内容可以被替换 然后使用refresh()方法初始化。
  • select():选择当前活动的菜单项, 折叠所有子菜单 并触发菜单中的 select 事件。
  • widget():返回一个包含 button 的 jQuery 对象。

3、Events

  • blur( event, ui ):当menu失去焦点时触发这个事件。
  • create( event, ui ):当创建 menu 时触发。
  • focus( event, ui ):当一个菜单获得焦点或当任意一个菜单项被激活时触发这个事件。
  • select( event, ui ):当被选中的时候触发该事件。

到此这篇关于jQuery UI菜单部件Menu Widget的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jquery ui 实现 tab标签功能示例【测试可用】

    本文实例讲述了jquery ui 实现 tab标签功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <title>www.jb51.net tab切换</title> <style type="text/css"> #tabs{ width:500px; height:500px; margin:0 auto; } .ui-widget-header{ border

  • jquery-ui 进度条功能示例【测试可用】

    本文实例讲述了jquery-ui 进度条功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta charset="utf8" /> <title>www.jb51.net progressbar</title> <style type="text/css"> #divprogressbar{ width:300px; heigh

  • jQuery UI组件介绍

    一.jQuery UI简介 jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互.特效.小部件及主题.无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery UI 都是一个完美的选择. jQuery UI包含了许多维持状态的小部件(Widget),因此,它与典型的 jQuery 插件使用模式略有不同.所有的 jQuery UI 小部件(Widget)使用相同的模式,所以,只要您学会使用其中一个,您就知道如何使用其他的小部件(

  • jQuery UI旋转器部件Spinner Widget

    通过向上/向下按钮和箭头键处理,为输入数值增强文本输入功能. 一.实例 普通的数字选择器. 代码 <input id="spinner"> <script> $( "#spinner" ).spinner(); </script> 旋转器(Spinner),或数步进控件(number stepper widget),是用于处理各种数字输入的完美控件.它允许用户直接输入一个值,或通过键盘.鼠标.滚轮旋转改变一个已有的值.当与全球化(

  • jQuery UI工具提示框部件Tooltip Widget

    可自定义的.可主题化的工具提示框,替代原生的工具提示框. 一.实例 使用带有 title 属性的所有元素的事件代理,在文档上创建一个工具提示框(Tooltip). 代码: <p> <a href="#" rel="external nofollow" title="锚描述">锚文本</a> <input title="输入帮助"> </p> <script>

  • jQuery UI菜单部件Menu Widget

    目录 实例 二.图标 三.分隔符 四.键盘交互 五.主题化 六.快速导航 1.Options 2.Methods 3.Events 带有鼠标和键盘交互的用于导航的可主题化菜单. 实例 一个简单的 jQuery UI 菜单(Menu). 代码 <ul id="menu"> <li><a href="#" rel="external nofollow" rel="external nofollow"

  • Jquery Easyui菜单组件Menu使用详解(15)

    本文实例为大家分享了Jquery Easyui菜单组件的实现代码,供大家参考,具体内容如下 加载方式 菜单组件通常用于快捷菜单,在加载方式上,通过 class 或 JS 进行设置为菜单组件.然后,再通过 JS 事件部分再响应. <div id="box" class="easyui-menu"> <div>新建</div> <div> <span>打开</span> <!--二次菜单--&

  • 基于jQuery UI CSS Framework开发Widget的经验

    jQuery UI中两大核心的css文件是ui.core.css和ui.theme.css.这两个css样式贯穿整个基于jQuery ui的界面上,并且可以通过jQuery ui ThemeRoller来生成自己的样式. .ui-helper-hidden :为元素应用display:none .ui-helper-hidden-accessible:将元素的绝对位置设置为不可见 .ui-helper-clearfix:适用于浮动包裹父元素的属性 . ui-helper-zfix:适用于修复if

  • jQuery UI结合Ajax创建可定制的Web界面

    如今,网站比以往更具可定制性,允许用户更改其空间,根据自己的喜好对其进行个性化.个性化的主页或仪表板页面(例如 iGoogle.MyYahoo! 和 MyAOL)日渐普及,大多数 Web 应用程序内甚至也整合了类似的功能.jQuery 库简化了此类复杂 JavaScript 交互的编写,随着 jQuery UI 的引入,这项功能得到了进一步的简化,该库以易于访问的 jQuery 插件的形式提供了常用用户界面类型. 本文介绍了如何利用 Ajax 和 jQuery UI 创建具有各种定制功能的高度可

  • jQuery ui实现动感的圆角渐变网站导航菜单效果代码

    本文实例讲述了jQuery ui实现动感的圆角渐变网站导航菜单效果代码.分享给大家供大家参考.具体如下: 今天给大家分享一款基于jQuery UI的网站渐变导航菜单,可作为主导航,带渐入渐出效果,鼠标移过菜单后,菜单项上显示圆角背景,本地测试时,请注意引入的几个JS脚本文件,最好是保存到你本地,菜单兼容性也不错. 先来看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-ui-cicle-button-style-web-nav-codes

  • 推荐10款最热门jQuery UI框架 原创

    1.国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架. 设计目标是简单实用,快速开发,降低ajax开发成本. 欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.共同推进国内整体ajax开发水平. 在线演示地址:http://j-ui.com http://runjs.cn/detail/x9c7d6qb 2.jQuery的界面插件 Ninja UI jQuer

  • jQuery UI Autocomplete 体验分享

    支持的数据源 jQuery UI Autocomplete主要支持字符串Array.JSON两种数据格式. 普通的Array格式没有什么特殊的,如下: 复制代码 代码如下: ["cnblogs","博客园","囧月"] 对于JSON格式的Array,则要求有:label.value属性,如下: 复制代码 代码如下: [{label: "博客园", value: "cnblogs"}, {label: &qu

随机推荐