🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1082閲覧

ハンバーガーメニューの挙動について

rihitoban

総合スコア25

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/03/27 16:25

Word Pressでオリジナルテーマを作っています。
その中で今、ハンバーガーメニューを作成しているのですが、うまく動きをつけられません。解決策を教えていただきたいです。お願いいたします。

######このハンバーガーメニューに付けたい動きは以下の通りです。

  1. ホバーしたときに3本線の一番上の線と一番下の線が上下に広がる。
  2. クリックすると3本線からバツ印に変わり、ドロップダウンメニューが開く。このバツの状態の時はホバーしても線が動かないようにしたい。
  3. 再度クリックすると、最初の3本線の状態に戻り、ドロップダウンメニューも閉じる。

######現在、上手くいかない挙動が以下の通りです。

  • 上記の2番のバツの状態の時に、ホバーすると線が動く。上記の1番の挙動がバツの状態のときにも適用されてしまっているようです。

HTML

1<button type="button" id="navbutton" class="navbutton"> 2 3 <span></span> 4 <span></span> 5 <span></span> 6 7</button>

CSS

1//ハンバーガーメニューの見た目 2 .navbutton, 3 .navbutton span { 4 display: inline-block; 5 transition: all .4s; 6 box-sizing: border-box; 7 } 8 .navbutton { 9 position: relative; 10 width: 50px; 11 height: 44px; 12 background: none; 13 border: none; 14 appearance: none; 15 cursor: pointer; 16 } 17 .navbutton span { 18 position: absolute; 19 left: 0; 20 width: 100%; 21 height: 4px; 22 background-color: #333; 23 border-radius: 4px; 24 } 25 .navbutton span:nth-of-type(1) { 26 top: 0; 27 } 28 .navbutton span:nth-of-type(2) { 29 top: 20px; 30 } 31 .navbutton span:nth-of-type(3) { 32 bottom: 0; 33 } 34 35//ホバー時の挙動 36 .navbutton:not(.active):hover span:nth-of-type(1) { 37 top: -6px; 38 } 39 .navbutton:not(.active):hover span:nth-of-type(3) { 40 bottom: -6px; 41 } 42 43//クリック時の挙動 44 .navbutton.active span:nth-of-type(1) { 45 transform: translateY(20px) rotate(-45deg); 46 } 47 .navbutton.active span:nth-of-type(2) { 48 opacity: 0; 49 } 50 .navbutton.active span:nth-of-type(3) { 51 transform: translateY(-20px) rotate(45deg); 52 } 53 54 .navbutton:focus { 55 outline: 0; 56 } /*

JavaScript

1 jQuery(function() { 2 3//クリック時の挙動 4 jQuery('.navbutton').on('click', function () { 5 jQuery(this).addClass('active'); 6 }, function () { 7 jQuery(this).removeClass('active'); 8 }); 9 10//ドロップダウンメニューが開く 11 jQuery("#navbutton").click(function() { 12 jQuery("#header-nav-wrap").slideToggle(); 13 }); 14 15 });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CSSのコメントは //コメント ではないです。/* コメント */ です。まずはこれを修正しましょう。

あと、提示のjQueryコードでは動かないですね。下記に修正してください。

js

1//クリック時の挙動 2 jQuery('.navbutton').on('click', function () { 3 jQuery(this).toggleClass('active'); 4 });

投稿2021/03/28 13:44

hatena19

総合スコア34073

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問