MENU
  • HOME
  • Arkhe
  • 知識ブログ一覧
日々の知識をOutputしよう
OutPut
  • HOME
  • Arkhe
  • 知識ブログ一覧
  • HOME
  • Arkhe
  • 知識ブログ一覧
OutPut
  • HOME
  • Arkhe
  • 知識ブログ一覧
  1. ホーム
  2. JavaScript
  3. ChatGPTを使って、JSの勉強が簡単にできる|トグルメニューの作成編

ChatGPTを使って、JSの勉強が簡単にできる|トグルメニューの作成編

2023 4/24
JavaScript
2023年4月24日

今流行りのChatGPTを使って、JSの勉強をしてみたいと思います。

目次

ChatGPTを使って、JSの勉強をしてみる

ChatGPTに以下のプロンプトを与えるだけです。

 スマホのヘッダーにハンバーガーメニューがあるときのHTMLとCSSとハンバーガーメニューをクリックした時に、メニューがでてくるJSも教えて

<header class="header">
  <nav class="nav">
    <ul class="nav-list">
      <li class="nav-item"><a href="#">Menu item 1</a></li>
      <li class="nav-item"><a href="#">Menu item 2</a></li>
      <li class="nav-item"><a href="#">Menu item 3</a></li>
    </ul>
  </nav>
  <button class="menu-toggle">
    <span class="menu-toggle__icon"></span>
  </button>
</header>
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background-color: #333;
  color: #fff;
}

.nav {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #333;
  display: none;
}

.nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-item {
  padding: 10px;
}

.nav-item a {
  color: #fff;
  text-decoration: none;
}

.menu-toggle {
  position: relative;
  z-index: 1;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
}

.menu-toggle__icon {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .3s, opacity .3s;
}

.menu-toggle__icon:before,
.menu-toggle__icon:after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  left: 0;
  transition: transform .3s, opacity .3s;
}

.menu-toggle__icon:before {
  transform: translateY(-8px);
}

.menu-toggle__icon:after {
  transform: translateY(8px);
}

.open .menu-toggle__icon {
  transform: rotate(45deg);
}

.open .menu-toggle__icon:before {
  transform: translateY(0) rotate(45deg);
}

.open .menu-toggle__icon:after {
  transform: translateY(0) rotate(-45deg);
}

.open + .nav {
  display: block;
}
const menuToggle = document.querySelector('.menu-toggle');
const menu = document.querySelector('.nav');

menuToggle.addEventListener('click', function() {
  menu.classList.toggle('open');
});

上記のコードでは、menu-toggle ボタンがクリックされたときに、nav 要素の open クラスをトグルするようにイベントリスナーを登録しています。open クラスが付与された nav 要素は表示され、クラスが削除された場合は非表示になります。ハンバーガーメニューのアイコンは、CSSアニメーションを使って回転させることで開閉の状態を表現しています。

JavaScriptのコードの解説は以下の通りです。

  1. querySelector メソッドを使って、ハンバーガーメニューのアイコンを表す .menu-toggle 要素と、メニューを表す .nav 要素を取得します。
  2. addEventListener メソッドを使って、.menu-toggle 要素に click イベントのリスナーを登録します。クリックされたときに実行する関数を引数として渡します。
  3. 関数内で、menu 要素に対して classList.toggle() メソッドを呼び出し、open クラスの有無をトグルします。open クラスが付与された nav 要素は表示され、クラスが削除された場合は非表示になります。

以上が、スマホのヘッダーにハンバーガーメニューを実装するためのHTML、CSS、JavaScriptの例になります。

これをVSCodeに挿入することで、簡単に実装ができます。

JavaScript
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • WordPressテーマ『Arkhe』の特徴とは?Web制作者向けのシンプルなテーマで使いやすい!

この記事を書いた人

remeのアバター reme

ブログ「OutPut」の運営者。私自身がインプット→アウトプットの場として作成しました。また、それをあなたがインプット→アウトプットする機会になれれば嬉しいと思い、この名前にしました。
【シンプルでわかりやすい】を心がけて記事を書いています!

関連記事

関連する記事はまだ見つかりませんでした。

コメント

コメントする コメントをキャンセル

カテゴリー
  • HOME
  • Arkhe
  • 知識ブログ一覧

© OutPut.

目次