jQuery UI の Menu による多階層メニューの一部を無効化

jQuery UI の Menu Widget による多階層メニューの一部のメニューを無効にする方法。

実装例(サンプル)

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

無効化したメニュー項目はクリックできない。

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

読み込み

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

<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();
} );
</script>

CSS

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

HTML

無効化したいメニューのリスト項目(liタグ)のクラスに、「ui-state-disabled」を指定することで、無効化できる。

<ul id="sampleMenu">
    <li class="ui-state-disabled"><a href="#">メニュー1</a></li>
    <li><a href="#">メニュー2</a>
        <ul id="sampleMenu">
            <li class="ui-state-disabled"><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 class="ui-state-disabled"><a href="#">メニュー2-3</a></li>
        </ul>
    </li>
    <li><a href="#">メニュー3</a></li>
    <li class="ui-state-disabled"><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>

スポンサード リンク

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