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

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

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

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

Q&A

0回答

1190閲覧

ハンバーガーメニュー内のリンクをクリックするとハンバーガーメニューが閉じるようにしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

jQuery

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

0グッド

0クリップ

投稿2021/01/10 16:06

編集2021/01/11 01:39

前提・実現したいこと

ハンバーガーメニュー内のリンクをクリックすると該当箇所(リンク先は同じページ)まで移動し、
且つクリックした後はハンバーガーメニューが自動的に閉じるようなjqueryの記述はどうすればよいでしょうか?

発生している問題・エラーメッセージ

ハンバーガーメニュー内のリンクを押すとその該当箇所にまでは移動するのですが、
ハンバーガーメニューが閉じない状態となっております。

該当のソースコード

html

<body> <header class="header"> <div class="pc-head"> <nav> <ul class="menu> <li class="global-nav-item"><a href="#top">T O P</a></li> <li class="global-nav-item"><a href="#menu">メニュー</a></li> <li class="global-nav-item"><a href="#information">店舗情報</a></li> <li class="global-nav-item"><a href="contact.html">ご予約</a></li> </ul> </nav> </div> <div class="sp-head"> <div class="mobile-logo"><a href="#top"><img src="images/test1.png"></a></div> <div class="global-reserve"> <a class="link" href="contact.html">ご予約</a> </div> <nav class="nav"> <ul id="list"> <li class="global-nav-item"><a href="#top">T O P</a></li> <li class="global-nav-item"><a href="#menu">メニュー</a></li> <li class="global-nav-item"><a href="#information">店舗情報</a></li> <li class="global-nav-item"><a href="contact.html">ご予約</a></li> </ul> </nav> <button type="button" id="nav-button"></button> </div> </header> <div class="wrap"> <div class="top-area" id="top"></div> <div class="main-area" id="menu"></div> <div> <h2 class="info" id="information">information</h2> <div id="map"></div> </div> </div> </body>

css

/* ハンバーガーメニュー */ .nav{ position: absolute; width: 100%; height: 100vh; background: rgba(0,0,0,0.9); color: #ffffff; display: flex; justify-content: center; align-items: center; /* 初期:非表示 */ visibility: hidden; opacity: 0; transition: 0.5s ease-in-out; } .nav ul{ list-style:none; } .nav li:not(:last-child){ margin-bottom: 30px; } .nav a{ color: #ffffff; } /* ナビゲーションボタン(開く) */ #nav-button{ position: relative; top:30px; outline: none; border: none; background: none; width: 50px; height: 20px; cursor: pointer; } #nav-button::before, #nav-button::after{ content : ''; display: block; height: 1px; background-color: white; transform: translateY(10px); transition: 0.3s ease-in-out; } #nav-button::before{ transform: translateY(-10px); box-shadow: 0 10px white; } /* ナビゲーションボタン(閉じる) */ .open #nav-button{ z-index: 100; } .open #nav-button::before{ transform: rotate(-45deg); box-shadow: none; } .open #nav-button::after{ transform: rotate(45deg); box-shadow: none; } /* ナビゲーションメニュー 開いた時*/ .open .nav{ visibility: visible; opacity: 1; }

jQuery

$(function () { $('#nav-button').on('click', function () { $(this).toggleClass('active'); $(".nav").toggleClass('active'); }) }) $(function () { $('.nav a').on('click', function () { $('.nav').toggleClass('active'); $("#nav-button").toggleClass('active'); }) });

試したこと

似たような質問をされてる方の回答者様の記述を真似たりしてみたのですが上手く実装できませんでした。
ご教示願えますでしょうか。

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

参考サイト
https://cocotsubu.com/2018/09/04/post-1341/
jQueryだけ参考にしました。

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

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

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

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

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

m.ts10806

2021/01/10 23:35

タグ「jQuery」のわりに、jQueryのコードや言及もありません。 HTML,CSSだけで再現できるのでしょうか?
退会済みユーザー

退会済みユーザー

2021/01/11 00:26

jQueryのコードはハンバーガーメニューを開閉する記述しかしていないので省略しました。 似た質問をされてる記事の回答者様の回答をこのように参考にしましたが実装できませんでした。 $('#list a[href^="#"]').on('click', function() { $('.menu').click(); });
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問