まりぞーです(∩°ω°∩)

PCのときは横並びのレイアウトで、モバイル端末など画面が小さい場合はぬるりと動くハンバーガーに格納されるjQueryでレスポンシブなメニューを作ってみました。

以前作成した初心者向けのアコーディオンメニューはこちらです。
初心者でもすぐできるスマホ対応jQueryアコーディオンメニューの作り方

今回もデモを用意しました
ご確認ください。

目次

ハンバーガーメニュー

動くハンバーガーメニュー

概要

ハンバーガーの構造は下記のようになります。また、上記のアニメーションのように静止したメニューではなく、にゅーっと動いてかっこいいインパクトを与えます。

  • aタグの中に空のspanを3つ用意し3本の線にする
  • jQueryclassを制御
  • CSSで見た目を調整
  • ボタンの次に来る要素を格納する

HTML

jQuery

CSS

DEMO 1 : アコーディオンメニュー

概要

  • 画面幅が広いときは横並びのレイアウトに、狭いときは縦並びのレイアウトにしてハンバーガーの中へ格納される可変レイアウトにする
  • jQueryclassの切り替えと.slideToggle()の処理程度に留め、CSSを調整して切り替えを演出する。

HTML

jQuery

DEMO 2 : 多階層アコーディオンメニュー

概要

何かしらのナビゲーションで7つ以上の選択肢があるととにかく戦慄しますが、多階層のアコーディオンメニューにも対応してみます。
だいたいDEMO01と同様。項目は多くしないこと。

HTML

jQuery (DEMO 1と同様)

DEMO 3 : コンテンツの格納

FAQなどで使えるアコーディオンメニュー

概要

アコーディオンって、メニューだけでなくFAQとかコンテンツにもふんふん使われるよねってことでコンテンツも入れてみました。
特にレイアウトは変えず、リキッドな感じに可変です。

HTML

jQuery

まとめ

いかがでしょうか。
ワンソースで可変レイアウトってなかなか厳しかったりしますよね。
我々人類が哲学的な気持ちになりつつもいろんな可能性を模索した先で辿り着く答えにはきっと大きな意味があります。
レスポンシブなのにワンソースじゃないーーーーーー闇ですね。

ところで自分のカーソル捌きがなかなか挙動不審で戦慄しました。精進します。

あわせて読みたい記事