オプションを指定してみよう

Accordionは以下のオプションを指定することができます。オプションはnew accordion()の2番目のパラメータに{名前:値}の形式で指定します。複数ある場合は「,」(カンマ)で区切って指定します。

classNames 適用するスタイルクラス(以下の3つを指定)
toggle 非アクティブ時のパネルタブのスタイルクラス名
toggleActive アクティブ時のパネルタブのスタイルクラス名
content 内容のスタイルクラス名
defaultSize スタイルシートで幅が指定されていない場合に適用されるデフォルトの幅(以下の2つを指定)
width 横幅(水平アコーディオンの場合に指定)
height 縦幅(垂直アコーディオンの場合に指定)
direction 方向(verticalまたはhorizontal)
onEvent イベント名(clickやmouseoverなど)

サンプル02ではdefaultSizeでheightを指定しデフォルトの高さを200ピクセルに設定しています。これによりパネルの内容の全てが同じ高さになります。

サンプル02の実行結果

サンプル01とは異なり

指定された高さで表示される

サンプル02

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>アコーディオン サンプル (高さを指定)</title>
        <link rel="stylesheet" href="css/main.css" type="text/css">
        <script type="text/javascript" src="js/prototype.js"></script>
        <script type="text/javascript" src="js/effects.js"></script>
        <script type="text/javascript" src="js/accordion.js"></script>
        <script type="text/javascript"><!--
            window.onload = function(){
                new accordion("#acc1", {
                    defaultSize : {
                        height:200
                    }
                });
            }
        // --></script>
    </head>
    <body>
    <h1>アコーディオン サンプル (高さを指定)</h1>
    <div id="acc1">
        <h2 class="accordion_toggle">Accordionとは?</h2>
        <div class="accordion_content">
            Accordionは、その名のとおりアコーディオンのように開閉可能な領域を表示/非表示処理するライブラリです。<br>
            他のライブラリではアコーディオン処理を行うものがありましたが、prototype.js系ではRicoがサポートしていた程度でした。
        </div>
        <h2 class="accordion_toggle">依存ライブラリ</h2>
        <div class="accordion_content">
            Accordionはprototype.jsとscript.aculo.usのエフェクトライブラリを利用しています。パネルのタブ(ヘッダー)をクリックすることで開閉を行うことができます。この開閉アニメーションにscript.aculo.usライブラリを使用しています。
        </div>
        <h2 class="accordion_toggle">特長</h2>
        <div class="accordion_content">
            Accordionは縦方向に開閉するだけでなく横方向に開閉できます。
        </div>
    </div>
    </body>
</html>

水平方向に開閉するアコーディオンにするにはdirectionオプションで"horizontal"を指定します。開閉時のパネル内容の横幅はdefaultSizeでwidthを指定します(サンプル03)。

サンプル03の実行結果

水平方向に

メニューが表示される

サンプル03

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>アコーディオン サンプル (水平方向に表示)</title>
        <link rel="stylesheet" href="css/main.css" type="text/css">
        <script type="text/javascript" src="js/prototype.js"></script>
        <script type="text/javascript" src="js/effects.js"></script>
        <script type="text/javascript" src="js/accordion.js"></script>
        <script type="text/javascript"><!--
            window.onload = function(){
                var acc1Obj = new accordion("#acc1", { 
                    defaultSize : { width:400 },
                    direction : "horizontal"
                });
            }
        // --></script>
    </head>
    <body>
    <h1>アコーディオン サンプル (水平方向に表示)</h1>
    <div id="acc1">
        <h2 class="accordion_toggle">アコ |デ ィオンとは ?</h2>
        <div class="accordion_content">
            Accordionは、その名のとおりアコーディオンのように開閉可能な領域を表示/非表示処理するライブラリです。<br>
            他のライブラリではアコーディオン処理を行うものがありましたが、prototype.js系ではRicoがサポートしていた程度でした。
        </div>
        <h2 class="accordion_toggle">依存ライブラリ</h2>
        <div class="accordion_content">
            Accordionはprototype.jsとscript.aculo.usのエフェクトライブラリを利用しています。パネルのタブ(ヘッダー)をクリックすることで開閉を行うことができます。この開閉アニメーションにscript.aculo.usライブラリを使用しています。
        </div>
        <h2 class="accordion_toggle">特長</h2>
        <div class="accordion_content">
            Accordionは縦方向に開閉するだけでなく横方向に開閉できます。
        </div>
    </div>
    </body>
</html>