HOME > >

Simple Javascript Accordions

アコーディオンパネルやタブパネルが簡単に♪

下記のような動作が実現できます。HTMLとCSSを変更すればタブ形式横ナビゲーションにも利用できます。

特徴としては他のライブラリに依存せず単体で動作し、本体も軽量です。またクロスブラウザ仕様となってます。(確認したのはWIN:IE7/IE6/Fx2.0.0.8/NS7.1)

使いやすいと評判のspryのやつより個人的には簡単で使いやすい気がします。

見出し1
コンテンツ1
見出し2
コンテンツ2
見出し3
コンテンツ3

使い方

HTML
  1.  
  2.  <html>
  3.   <head>
  4.   <script type="text/javascript" src="accordian.pack.js"></script>
  5.   </head>
  6.   <body onload="new Accordian('container of your accordion',speed,'highlighted accordion class name');">
  7.  
  8.   </body>
  9.  </html>

と本家にはこんな感じで書いてありますがbodyタグに書くのが嫌な場合

JAVASCRIPT
  1.  
  2.  <script language="javascript" type="text/javascript">
  3.   window.onload = function(){
  4.   new Accordian('container of your accordion',speed,'highlighted accordion class name');
  5.   }
  6.  </script>

と書いても問題ないでしょう。各設定は下記のようになります。

new Accordian('アコーディオン化するエリアのid@string’,オープンするスピード@int,’ハイライト表示するclass名@string’)

  • ちなみにスピードは数値が大きくなればなるほどスピードが遅ります。

下記のように設定した場合

JAVASCRIPT
  1.  
  2.  new Accordian('typeBasic',5,'header_highlight');

最低限のHTMLは下記のようになります。

HTML
  1.  
  2.  <div id="typeBasic">
  3.   <div id="c1-header" class="accordion_headings header_highlight">見出し1</div>
  4.   <div id="c1-content">コンテンツ1</div>
  5.  
  6.   <div id="c2-header" class="accordion_headings">見出し2</div>
  7.   <div id="c2-content">コンテンツ2</div>
  8.  
  9.   <div id="c3-header" class="accordion_headings">見出し3</div>
  10.   <div id="c3-content">コンテンツ3</div>
  11.  </div>

見出しのid、○○-headerと○○-contentで囲んだ部分が対応します。○○をキーとしてつなげているって感じなので○○は同じものを設定しましょう。

また○○-contentにCSSを設定すると動作に影響が出るので、余白やマージン設定にはdivを追加したほうが良いでしょう。

header_highlight は最初にオープンしておきたいコンテンツの見出しにつけると良いでしょう。

HTML
  1.  
  2.  <div id="c1-content">
  3.   <div class="accordion_child">
  4.   コンテンツ1
  5.   </div>
  6.  </div>

問題点は見出しもdivでマークアップしなくちゃならないとこでしょうか。

見出し1

ちょっと冗長な気がしますね。

JavaScriptクックブック

作者:Shelley Powers | 価格:¥ 3,990

PAGE RANK
TIME LINE
2012
05.16

XMLHttpRequestってUserAgentを変更できないのかorz

セキュリティ的に禁止してるんだろうけどChromeでは出来ないのか、そもそもJavascriptの仕様として禁止されてるのかは不明。

2012
05.10

[PHP]文字列を1文字ごとタグで囲む

PHPで文字列を1文字ごとタグで囲みたいとき。

2012
04.25

WebフォントとJavascript

WebフォントとjQueryのテキストエフェクトプラグインを試してて気がついたんだけど API経由でWebフォント取得、設定してるとJavascriptの実行が早すぎて困るw

2012
04.12

[Ubuntu11.10]インストール直後にやっておけばよかったこと

Ubuntu 11.10 Desktop 日本語 Remixの場合、ユーザーのホームディレクトリにあるディレクトリ名が 日本語なのでターミナルでディレクトリ移動する場合、非常に扱いづらい。

2012
04.11

シンプルでカスタマイズしやすそうなコンテンツスライダー jQuery Slider2

シンプルでカスタマイズしやすそうなコンテンツスライダー jQuery Slider2

2012
04.06

CORESERVERからロリポのチカッパプランに移転してFTPとおさらばした。

CakePHP2系はPHPのバージョンがシビアなので、CORESERVERからロリポの チカッパプランに移転したんだけど、gitが利用できてなんだか得した気分です。

2012
04.04

[CakePHP2.0.x]FormHelper::input()の出力メモ

FormHelper::input()の出力がどのくらい変更できるかのテスト。

2012
03.28

[CSS]WindowsでLESS更新時に自動でコンパイルする設定方法

Windowsで.lessファイル更新と同時にコンパイルしてCSSを書き出す方法を2つほど。 簡単に開発環境を構築するためUbuntu入れたのに、Windowsの方が簡単だったりするから困るw

2012
03.27

[CSS3/HTML5]ページタイトルとかに使えそうな3Dっぽいテキストエフェクト

Code Padよりタイトルとかに使えそうなテキストエフェクト。それほどゴテゴテしてなくていい感じ。