jQuery UI の Accordion プラグインによるアコーディオンメニュー [3]

jQuery UI の Accordion プラグインで、2階層の上下開閉式アコーディオン型メニューを簡単に作る方法。メニューボックスの大きさを変更できるタイプ。メニューボックスの最小サイズを指定しておくこともできる。

実装例

メニュー 1
メニュー 2
メニュー 3

もちろん、リストタグ以外も使える。

2階層の上下開閉式アコーディオン型パネルとしても使える。

実装例の動作について

「メニュー 1」「メニュー 2」「メニュー 3」をクリックすると、そのメニューを開き、それ以外のメニューを閉じる。
マウスのカーソルを、メニューボックスの右端、右下、下端に合わせると、カーソルが、リサイズカーソルになり、メニューボックスの大きさを変更できる。最小サイズは、横:200px、縦:200px を指定してあるので、それ以下のサイズには変更できない。

実装例のソースコード

読み込み

読み込み方は、2種類ある。パスは、それぞれ、アップロードした場所を指定する。

まとめて読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery-ui-1.8.12.custom.min.js"></script>
個別に読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="ui/jquery.ui.resizable.js"></script>
<script type="text/javascript" src="ui/jquery.ui.accordion.js"></script>

JavaScript

<script type="text/javascript">
<!--
$(function() {
    $( '#jquery-ui-accordion' ) . accordion(
        {
            fillSpace: true
        }
    );
});
$(function() {
    $( '#jquery-ui-resize' ) . resizable(
        {
            minHeight: 200,
            minWidth: 200,
            resize: function() {
                $( '#jquery-ui-accordion' ) . accordion( 'resize' );
            }
        }
    );
});
// -->
</script>

CSS

<style type="text/css">
<!--
div#jquery-ui-resize{
    padding: 10px;
    width: 500px;
    height: 250px;
    border-radius: 5px;
}
div#jquery-ui-accordion div.jquery-ui-accordion-title{
    margin: 1px 0 0 0;
    padding: 0.7em 0.5em 0.5em 2em;
    font-size: 16px;
    font-weight: bold;
}
div#jquery-ui-accordion div.jquery-ui-accordion-contents{
    margin: -2px 0 2px 0;
    padding: 0.5em 2em 1.5em 2em;
    font-size: 15px;
}
-->
</style>

HTML

<div id="jquery-ui-resize" class="ui-widget-content">
    <div id="jquery-ui-accordion">
        <div class="jquery-ui-accordion-title">メニュー 1</div>
        <div class="jquery-ui-accordion-contents">
            <ul>
                <li><a href="#">メニュー 1-1</a></li>
                <li><a href="#">メニュー 1-2</a></li>
                <li><a href="#">メニュー 1-3</a></li>
            </ul>
        </div>
        <div class="jquery-ui-accordion-title">メニュー 2</div>
        <div class="jquery-ui-accordion-contents">
            <ul>
                <li><a href="#">メニュー 2-1</a></li>
                <li><a href="#">メニュー 2-2</a></li>
                <li><a href="#">メニュー 2-3</a></li>
                <li><a href="#">メニュー 2-4</a></li>
                <li><a href="#">メニュー 2-5</a></li>
            </ul>
        </div>
        <div class="jquery-ui-accordion-title">メニュー 3</div>
        <div class="jquery-ui-accordion-contents">
            <p>もちろん、リストタグ以外も使える。</p>
            <p>2階層の上下開閉式アコーディオン型パネルとしても使える。</p>
        </div>
    </div>
    <div class="ui-icon ui-icon-grip-dotted-horizontal" style="margin: 0px auto;"></div>
</div>

スポンサード リンク

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