質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

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

HTML

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

CSS

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

Q&A

解決済

1回答

3730閲覧

【jQuery】ハンバーガーメニューの実装について、表示・非表示

isseitakeda

総合スコア8

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/10/12 06:28

編集2019/10/12 07:52

前提・実現したいこと

webサイト制作を勉強しています。初心者です。
ハンバーガーメニューを実装しています。
現在、ハンバーガーメニューを表示されますが、メニューのリンクを押しても、ハンバーガーメニューの中身が表示したままです。

メニューのリンクを押したら、メニューを非表示にさせたいです。

該当のソースコード

var navFlg = false; $('.menu').on('click',function(){ $('.menu__line').toggleClass('active'); $('.gnav').fadeToggle(); if(!navFlg){ $('.gnav__menu__item').each(function(i){ $(this).delay(i*300).animate({ 'margin-left' : 0, 'opacity' : 1, },500); }); navFlg = true; } else{ $('.gnav__menu__item').css({ 'margin-left' : 100, 'opacity' : 0, }); navFlg = false; } });
<body> <a class="menu"> <span class="menu__line menu__line--top"></span> <span class="menu__line menu__line--center"></span> <span class="menu__line menu__line--bottom"></span> </a> <nav class="gnav"> <div class="gnav__wrap"> <ul class="gnav__menu"> <li class="gnav__menu__item"><a href="">About</a></li> <li class="gnav__menu__item"><a href="">Works</a></li> <li class="gnav__menu__item"><a href="">Recruit</a></li> <li class="gnav__menu__item"><a href="">News</a></li> <li class="gnav__menu__item"><a href="">Contact</a></li> </ul> </div><!--gnav-wrap--> </nav> <div class="hero"></div> </body> コード
.menu{ height: 20px; position: absolute; right: 20px; top: 20px; width: 30px; z-index: 99; } .menu__line{ background: #fff; display: block; height: 2px; position: absolute; transition:transform .3s; width: 100%; } .menu__line--center{ top: 9px; } .menu__line--bottom{ bottom: 0; } .menu__line--top.active{ top: 8px; transform: rotate(45deg); } .menu__line--center.active{ transform:scaleX(0); } .menu__line--bottom.active{ bottom: 10px; transform: rotate(135deg); } /*gnav*/ .gnav{ background: rgba(0,0,0,0.8); display: none; height: 100%; position: fixed; width: 100%; z-index: 98; } .gnav__wrap{ align-items:center; display: flex; height: 100%; justify-content: center; position: absolute; width: 100%; } .gnav__menu__item{ margin: 40px 0; } .gnav__menu__item a{ color: #fff; font-size: 2em; font-weight: bold; padding: 40px; text-decoration: none; transition: .5s; } .gnav__menu__item a:hover{ color: #666; } コード

補足情報(FW/ツールのバージョンなど)

下記のURL参考にして実装しています(応用編)
https://webdesignday.jp/inspiration/technique/html/4746/

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

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

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

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

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

kei344

2019/10/12 07:40

(質問文は編集できます)質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
isseitakeda

2019/10/12 07:53

ご回答ありがとうございます。コードの追加を致しました。よろしくお願い致します。
guest

回答1

0

ベストアンサー

閉じる処理を追加しましょう。

js

1$('.gnav__menu__item').on('click',function(){ 2 $('.menu').trigger('click'); 3}); 4```**動くサンプル:**[https://jsfiddle.net/9v4Ls8fj/](https://jsfiddle.net/9v4Ls8fj/) 5 6--- 7 8【.trigger() | jQuery API Documentation】 9[https://api.jquery.com/trigger/](https://api.jquery.com/trigger/) 10 11--- 12 13また、`<a class="menu">`はリンクでないなら(hrefを指定しないなら)`div`要素とかにするほうがよいです。

投稿2019/10/12 08:04

kei344

総合スコア69407

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

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

isseitakeda

2019/10/12 08:14

kei344さん ありがうございました。kei344さんをフォローさせて頂きます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問