Movable Type 備忘録
jQueryで記事内容をアコーディオンのように表示する
- Prev Page: 半透明レイヤーでページブロックしてみる(blockUI)
- Next Page: Ajax でアクセス・ランキングを表示する( jQuery 版 )
こんばんわ^^
jQuery & Interface の機能を試しながら jQuery の記述になれていこうと思って、今回は記事内容をアコーディオンのように表示するカスタマイズやってみました。
アコーディオンの構造
Accordionの説明では、アコーディオンのタグ構造は以下のようになります。
<dl id="myAccordion"><dt>タブタイトル1</dt><dd>タブ1のコンテンツ</dd><dt>タブタイトル2</dt><dd>タブ2のコンテンツ</dd><dt>タブタイトル3</dt><dd>タブ3のコンテンツ</dd></dl>
そして、わたしが作ったサンプルは以下のような構造になってます。
<div id="accordion-container><h2>タブ1のタイトル</h2><div class="accordion-box"><p>タグ1のコンテンツ</p></div><h2>タブ2のタイトル</h2><div class="accordion-box"><p>タグ2のコンテンツ</p></div><h2>タブ3のタイトル</h2><div class="accordion-box"><p>タグ3のコンテンツ</p></div></div>
基本的にはどちらでも問題ないと思います。
お好み、用途によって使い分ければいいのではないかと ( ̄∇ ̄)b
スクリプトの使い方
アコーディオンのスクリプトは以下のようになってます。
<script src="<$MTBlogURL$>js/jquery/jquery.js" type="text/javascript"></script><script src="<$MTBlogURL$>js/jquery/interface/compressed/iutil.js" type="text/javascript"></script><script src="<$MTBlogURL$>js/jquery/interface/compressed/accordion.js" type="text/javascript"></script><script type="text/javascript">$(document).ready(function() {$('#accordion-container').Accordion({headerSelector : 'h2.accordion-header',/*タブヘッダのタグ名 */panelSelector : 'div.accordion-block',/*タブパネルのタグ名 */activeClass : 'accordion-active', /*タブがアクティブ時のクラス名*/hoverClass : 'accordion-hover', /*ホバー時のクラス名 */panelHeight : 200, /*各パネルの高さ */speed : 400 /*スライドのスピード(ミリ秒) */});});</script>
上記スクリプトを HTML ヘッダ(<head>~</head>)に追加します。
カンタンにコメントしてますが、Accordionの説明の通りです。
onShow オプションと currentPanel オプションが思った動作しなかったのですが、わたしのやり方が悪かったのかな (; ̄∇ ̄A
あと、基本的には CSS との組み合わせになるかと思いますが、padding には注意が必要です。
たとえば、わたしが作ったサンプルを例にすると、<div class="accordion-box">タグの属性に padding を付加すると変な挙動がでました。
可能な限り padding の使用は避けたほうが良さそうです。
何だかいつも以上に話がまとまってないような気もしますが・・・SEE YOU (●>∀<●)/
Trackback Pings(0)
No trackbacks found.




currentPanel オプションは、accordion.js の下記変更で動作するようです。
L.72
変更前).eq(0)
変更後).eq(el.accordionCfg.currentPanel)
L.154
変更前).eq(0)
変更後).eq(el.accordionCfg.currentPanel)
>>1 manma さん
こんばんわ^^
> currentPanel オプションは、accordion.js の下記変更で動作するようです。
ありがとうございます (●´∀`●)
さっそく確認してみます♪
どうも、ご無沙汰しております。
最近、諸般の事情により、ブログを引っ越した川口です。
現在のブログは、MovableTypeじゃないのですが、
大変、参考になるエントリーが、毎度の事ながらたくさんあって、
非常に感激しております。
んで、このエントリーを参考にして、早速導入してみました。
なんとか形にはなったんですが、
これ、IEだと、クリックした後に、
ブルブルしちゃうんですねぇ~。
ん~、私の設定の問題かな・・・。
新しいブログの方、よろしくお願いしま~す。
>>3 かわぐち さん
こんばんわ^^
> 最近、諸般の事情により、ブログを引っ越した川口です。
はい。今日お昼にブログの方遊びに行って知りました。
ホント突然でしたね
リンク張り替えます。
> なんとか形にはなったんですが、
> これ、IEだと、クリックした後に、
> ブルブルしちゃうんですねぇ~。
はい。
忘れました。
そうなんです。でもね、CSS のスタイルで何とかなったように記憶してます。
何やったの・・・って聞かないでください
またイジくれば分かるかも、ですけど