jQuery UI の Menu の多階層メニューのサブメニュー表示位置を調整

jQuery UI の Menu Widget の多階層メニューのサブメニューの表示位置を調整する方法。

実装例(サンプル)

実装例(サンプル)の動作について

「>」のある「メニュー2」と「メニュー4」にカーソルを合わせると、それぞれの第二階層のメニューが現れる。

「>」のある第二階層の「メニュー2-1」にカーソルを合わせると、第三階層のメニューが現れる。

メニューがフォーカス状態の場合、キーボードの矢印キーなどで操作することもできる。

実装例(サンプル)のソースコード

読み込み

パスは、それぞれ、アップロードした場所を指定する。

<link rel="stylesheet" href="jquery-ui.css">
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript" src="ui/1.10.2/jquery-ui.js"></script>

JavaScript

<script>
jQuery( function() {
    jQuery( "#sampleMenu" ).menu(
        {
            position: {
                my: "left top",
                at: "right-6 top+4"
            }
        }
    );
} );
</script>

CSS

<style>
<!--
.ui-menu {
    width: 200px;
    font-size: 12px;
}
-->
</style>

HTML

<ul id="sampleMenu">
    <li><a href="#">メニュー1</a></li>
    <li><a href="#">メニュー2</a>
        <ul id="sampleMenu">
            <li><a href="#">メニュー2-1</a>
                <ul id="sampleMenu">
                    <li><a href="#">メニュー2-1-1</a></li>
                    <li><a href="#">メニュー2-1-2</a></li>
                    <li><a href="#">メニュー2-1-3</a></li>
                </ul>
            </li>
            <li><a href="#">メニュー2-2</a></li>
            <li><a href="#">メニュー2-3</a></li>
        </ul>
    </li>
    <li><a href="#">メニュー3</a></li>
    <li><a href="#">メニュー4</a>
        <ul id="sampleMenu">
            <li><a href="#">メニュー4-1</a></li>
            <li><a href="#">メニュー4-2</a></li>
            <li><a href="#">メニュー4-3</a></li>
        </ul>
    </li>
    <li><a href="#">メニュー5</a></li>
</ul>

スポンサード リンク

カテゴリー: GUI, JavaScript, jQuery, jQuery UI, Menu, メニュー パーマリンク