アコーディオン
AccordionContainerは、複数のタイトル付きブロックを作成する。このとき、常に表示されるブロックは1つのみとなる。 AccordionContainerの一つのブロックのみを見るとTitlePaneに似ている。
いずれかのタイトルをクリックすると、アコーディオンのように表示されていたブロックが閉じられ、クリックしたタイトルのブロックが表示される。
AccordionConpainerを利用するときは、dojo.widget.AccordionContainerをrequireする。まず、属性dojoType="AccordionContainer"を付けたdiv要素を作成し、その子要素としてContentPaneを並べる。このContentPaneがブロックになる。
AccordionContainerの属性として以下を指定できる。
| 属性 | 概要 |
|---|---|
| labelNodeClass | タイトルに適用するCSSのクラス名 |
| containerNodeClass | 中身に適用するCSSのクラス名 |
| duration | ブロックの開閉にかかる時間 |
ContentPaneの属性として以下を指定できる。また、ContentPaneは onShow, onHideのイベントを指定できる。
| 属性 | 概要 |
|---|---|
| label | タイトルに表示する文字列 |
| href | 表示するHTMLのURLを指定する。 |
| selected | 最初に開いた状態で表示するブロックに対してtrueを指定する |
<script type="text/javascript">
dojo.require("dojo.widget.AccordionContainer");
dojo.require("dojo.widget.ContentPane");
</script>
<div dojoType="AccordionContainer" duration="200"
labelNodeClass="label" containerNodeClass="accBody"
style="float:left; width:300px; height:300px; overflow:hidden">
<div dojoType="ContentPane" selected="true" label="Pane 1" style="overflow: scroll;">
<p>Page1</p>
</div>
<div dojoType="ContentPane" label="Pane 2" style="display:none;">
<p>Page2</p>
</div>
<div dojoType="ContentPane" label="Pane 3" style="display:none;">
<p>Page3</p>
</div>
</div>


コメント