たった5つの質問に答えるだけで理想の企業に出会えるかも!?

【簡単】javascriptでハンバーガーメニューを実装する方法

JavaScriptでハンバーガーメニューってどういう順序で実装すればいいのか最初は分からないですよね。

実は、皆がそうでhtml,css,Javascriptとそれぞれ
使い分けをしてハンバーガメニューを実装します。

なぜなら、htmlはレイアウト、cssはデザイン、Javascriptで動きを実装します。

私は学校に通わずに、独学でプログラミングを勉強しました。未経験ですがプログラマーとして就職でき
プログラマー歴は約10年ほどです。

この記事では「Javascriptでハンバーガーメニューの実装方法」「html,css,javascriptの役割の仕方」「実装のポイント」の方法を教えます。

この記事を読むと、ハンバーガーメニューの使い方が分かります。

結論は、html,css,javascriptをそれぞれの役割を理解し実装するだけです。
コピペも出来るようにしていますので、ご利用下さい。

本記事の内容

1.javascriptでハンバーガメニューを作成する方法が分かる
2.html,css,javascriptをそれぞれコピペして利用できる
3.ハンバーガメニューの実装のポイントをまとめました。

そもそもハンバーガーメニューとは?

一般的に上部に設置されている「三本線」のボタンです。デザインがハンバーガーに似ている事から名付けられました。クリックすると中に、隠されている情報が出現する。主にスマートフォンサイトに用いる事が多い。

作成するデザインの確認

javascriptでクリックするイベントが出るようにしています。
cssで、アニメーションや色味
htmlでレイアウトを作成

ハンバーガーメニューをjavascript で実装する方法!

STEP.1 htmlでレイアウト作成

HTML
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">

</head>

<body>
  <header class="header">
    <div class="navtext-container">
      <div class="navtext">YOUR COMPANY</div>
      <button type="button" class="menu-btn">
        <i class="fa fa-bars" aria-hidden="true">=</i>
      </button>
      <div class="menu">
        <div class="menu__item">MENU-1</div>
        <div class="menu__item">MENU-2</div>
        <div class="menu__item">MENU-3</div>
      </div>
    </div>
  </header>
</body>

STEP.2 cssでデザインを整える

CSS
.header {
  background: #ddd;
  position: fixed;
  width: 100%;
  height: 52px;
  background-color: #000000;
}
/* Navbar Text */
.navtext {
  position: absolute;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 4px;
  font-size: 20px;
}

/* Navbar Container */
.navtext-container {
  width: 100%;
  height: 52px;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn {
  position: fixed;
  right: 20px;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  color: #fff;
  border: 1px solid #fff;
}

/*----------------------------
* メニュー本体
*----------------------------*/
.menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #555;
}
.menu__item {
  width: 100%;
  height: auto;
  padding: 0.5em 1em;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}

/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.menu {
  transform: translateY(100vw);
  transition: all 0.3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active {
  transform: translateX(0);
}

javascriptで必要な動きを付けます

Javascript
document.querySelector(".menu-btn").addEventListener("click", function () {
  document.querySelector(".menu").classList.toggle("is-active");
});

javascriptでハンバーガメニューの実装のポイントをまとめました。

本記事のまとめ
  1. トグルボタンの設定
  2. メニューの表示・非表示を切り替えるイベントを指定
  3. メニューの表示・非表示を切り替えるCSSを指定
  4. 適切なアニメーションを設定
  5. レスポンシブ対応

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です