jQuery UI API - メニューウィジェット(Menu Widget)
所属カテゴリ
用法
説明:マウスとキーボード操作に対応した、テーマ化可能なナビゲーションメニュー。
バージョン追加:1.9
メニューは、要素が厳密な親/子関係を持ち、各項目がアンカーを持つ限り、任意の有効なマークアップで作成できます。最も一般的な要素は順序なしリスト(<ul>):
<ul id="menu">
<li><a href="../index.html">Item 1</a></li>
<li><a href="../index.html">Item 2</a></li>
<li><a href="../index.html">Item 3</a>
<ul>
<li><a href="../index.html">Item 3-1</a></li>
<li><a href="../index.html">Item 3-2</a></li>
<li><a href="../index.html">Item 3-3</a></li>
<li><a href="../index.html">Item 3-4</a></li>
<li><a href="../index.html">Item 3-5</a></li>
</ul>
</li>
<li><a href="../index.html">Item 4</a></li>
<li><a href="../index.html">Item 5</a></li>
</ul>
非(<ul>)<ul>/<li>の構造の場合、メニューとメニュー項目に同じ要素を使用するには、menusオプションを使用して2つの要素を区別します。例えばmenus: "div.menuElement"。
要素にui-state-disabledclass を追加することで、任意のメニュー項目を無効にできます。
アイコン
メニューにアイコンを追加するには、マークアップにアイコンを含めます:
<ul id="menu"> <li><a href="../index.html"><span class="ui-icon ui-icon-disk"></span>Save</a></li> </ul>
メニュー(Menu)は、アイコンのない項目に必要なパディングを自動的に追加します。
セパレータ
セパレータ要素は、リンクされていないメニュー項目を含めることで作成できます。そのメニュー項目はスペースまたはダッシュのみで構成されます:
<ul id="menu"> <li><a href="../index.html">Item 1</a></li> <li>-</li> <li><a href="../index.html">Item 2</a></li> </ul>
キーボード操作
- ENTER/SPACE:フォーカスされているメニュー項目のアクションを呼び出し、サブメニューを開く場合があります。
- UP:フォーカスを前のメニュー項目に移動します。
- DOWN:フォーカスを次のメニュー項目に移動します。
- RIGHT:可能であれば、サブメニューを開きます。
- LEFT:現在のサブメニューを閉じ、フォーカスを親メニュー項目に移動します。フォーカスがサブメニューにない場合は、何も行いません。
- ESCAPE:現在のサブメニューを閉じ、フォーカスを親メニュー項目に移動します。フォーカスがサブメニューにない場合は、何も行いません。
文字を入力すると、その文字で始まる最初の項目にフォーカスが移動します。同じ文字を繰り返すと、一致する項目が循環表示されます。短時間にさらに文字を入力すると、入力された文字列に一致します。
無効な項目はキーボードフォーカスを取得できますが、操作は一切許可されません。
テーマ化
メニューウィジェット(Menu Widget)はjQuery UI CSS フレームワークを使用して、その外観と操作感のスタイルを定義します。メニュー固有のスタイルを使用する必要がある場合は、以下の CSS クラス名を使用できます:
ui-menu:メニューの外側のコンテナ。メニューにアイコンが含まれる場合、この要素にはさらにui-menu-iconsclass。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="../index.html">Item 1</a></li>
<li><a href="../index.html">Item 2</a></li>
<li><a href="../index.html">Item 3</a>
<ul>
<li><a href="../index.html">Item 3-1</a></li>
<li><a href="../index.html">Item 3-2</a></li>
<li><a href="../index.html">Item 3-3</a></li>
<li><a href="../index.html">Item 3-4</a></li>
<li><a href="../index.html">Item 3-5</a></li>
</ul>
</li>
<li><a href="../index.html">Item 4</a></li>
<li><a href="../index.html">Item 5</a></li>
</ul>
<script>
$( "#menu" ).menu();
</script>
</body>
</html>
その他の拡張機能