アコーディオン

複数のクリックイベント

複数の.js-accordionが、アコーディオンとして動作するサンプルです。
triggerプロパティは複数の要素に対応しています。

このアコーディオンだけは、トグルスイッチのa要素のアンカーを展開する要素として扱います。
(ないとは思いますが)aria-controls属性とアンカーで異なるIDが指定されていた場合は、aria-controls属性を優先します。

a要素のアンカーを使用した場合は、クリック後にアドレスバーのURLにハッシュが追加されます(履歴が増えます)。これを避けたい場合はトグルスイッチをa要素でマークアップせず、見出し要素、button要素等を使用してください。

最初から展開させる

トグルスイッチとなる要素に、事前にaria-expanded="true"を記述しておくと、最初から展開した状態となります。

height

アコーディオンの開閉で滑らかなCSSアニメーション効果を実現するには、コンテンツの高さをCSSで固定値にする必要があります(autoのままではアニメーションができません)。

インスタンスを作成する際にheightプロパティをtrueにすると、delayプロパティで設定したミリ秒の間だけ、展開する要素の高さをstyle属性で付与します。

data-clickit-height の高さは、展開する要素の直下の子要素の高さを参照します(このサンプルでは.accordion-bodyの高さです)。