ハンバーガーメニュー
いわゆる「ハンバーガーメニュー」は、以下のような仕様を求められます。
- 左・右・下など、ドキュメント内の複数箇所に設置する
- 開いたときとは異なる要素(ボタン等)でも閉じることができる
- 複数回クリックしても暴走しないようにする
sync
インスタンスを作成する際にsync
プロパティにセレクタが指定されていれば、trigger
プロパティで指定した、発火元の要素と同じ動作をするエイリアスとして扱います。
エイリアスは複数指定ができます。セレクタが.sample
であれば、ドキュメント内でこのクラスが付与されたすべての要素がエイリアスとなります。
エイリアスは、トリガーとなる要素に、data-clickit-sync
属性の値としてセレクタを記述することでも指定できます。
(sync
プロパティと同時に指定されていた場合は、data-clickit-sync
属性を優先します)
このサンプルの左上のメニューでは、展開後のメニューの下にある「閉じる」ボタンがエイリアスとなっています。
閉じるボタンをクリックすると、トグルボタンが ≡ から × に戻ることを確認してください。
このサンプルの右上のメニューでは、展開後のメニューの背景と「閉じる」ボタンの2箇所がエイリアスとなっています。
背景とボタンのどちらをクリックしても、右上のトグルボタンが ≡ から × に戻ることを確認してください。
openDelay, closeDelay
開くときと閉じるときで待機時間を変えることもできます。右のメニューはアニメーションの時間が異なることや、アニメーションの途中で背景を再度クリックしても何も起こらないことを確認してください。
ヘッダ