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

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

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

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

jQuery

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

HTML

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

Q&A

解決済

1回答

16960閲覧

ハンバーガーメニュー・ページ内リンクをクリックで閉じる

toritor

総合スコア13

JavaScript

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

jQuery

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

HTML

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

3グッド

2クリップ

投稿2019/02/06 08:51

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

【現状】
ハンバーガーメニュー内のリンクをクリックとすると該当箇所まで移動はしますが、ハンバーガーメニューが閉じずに開いたままです。

【やりたい事】
ハンバーガーメニュー内のリンクをクリックで該当箇所まで移動と同時にハンバーガーメニューを閉じたいです。

【試したこと】
似たような質問を見たり調べたりして、様々なコードを試してみましたが、ハンバーガーメニューが開けなかったりしました。
JS初心者の為、よろしくお願いいたします。

HTML

1<div class="navToggle"> 2 <span></span><span></span><span></span> 3</div> 4<div id="globalMenuSp"> 5 <ul id="manu" class="menu"> 6 <li><a href="#cando" target="_top" class="menu_cando">できること</a></li> 7 <li><a href="#application" target="_top" class="menu_application">利用申請</a></li> 8 <li><a href="#manual" target="_top" class="menu_manual">マニュアル</a></li> 9 <li><a href="#inquiry" target="_top" class="menu_inquiry">お問い合わせ</a></li> 10 </ul> 11</div>

CSS

1/*ハンバーガーメニュー*/ 2 3#globalMenuSp { 4  position: fixed; 5 z-index: 4; 6 top: 0; 7 left: 0; 8 color: #000; 9 text-align: center; 10 transform: translateY(-100%); 11 transition: all 0.6s; 12 width: 100%; 13 padding-top:-100px; 14} 15 16#globalMenuSp ul { 17 background: rgba(0,73,122,0.65); 18  margin: 0 auto; 19 padding: 0; 20 width: 100%; 21 display:inherit; 22} 23 24#globalMenuSp ul li { 25 font-size: 1.1em; 26 list-style-type: none; 27 padding: 0; 28 width: 100%; 29 border-bottom: 1px dotted #fff; 30} 31 32/* 最後はラインを描かない */ 33#globalMenuSp ul li:last-child { 34 padding-bottom: 0; 35 border-bottom: none; 36} 37 38#globalMenuSp ul li a { 39 display: block; 40 color: #fff; 41 padding: 1em 0; 42} 43 44/* このクラスを、jQueryで付与・削除する */ 45#globalMenuSp.active { 46 transform: translateY(0%); 47} 48 49/*ハンバーガー用CSS*/ 50.navToggle { 51 display: block; 52 position: fixed; /* bodyに対しての絶対位置指定 */ 53 right: 13px; 54 top: 12px; 55 width: 42px; 56 height: 51px; 57 cursor: pointer; 58 z-index: 5; 59 text-align: center; 60} 61 62.navToggle span { 63 display: block; 64 position: absolute; /* .navToggleに対して */ 65 width: 30px; 66 border-bottom: solid 3px rgb(28, 92, 145); 67 -webkit-transition: .35s ease-in-out; 68 -moz-transition: .35s ease-in-out; 69 transition: .35s ease-in-out; 70 left: 6px; 71} 72 73.navToggle span:nth-child(1) { 74 top: 9px; 75} 76 77.navToggle span:nth-child(2) { 78 top: 18px; 79} 80 81.navToggle span:nth-child(3) { 82 top: 27px; 83} 84 85.navToggle span:nth-child(4) { 86 border: none; 87 color: #eee; 88 font-size: 9px; 89 font-weight: bold; 90 top: 34px; 91} 92 93/*ハンバーガーメニュータップ後CSS*/ 94/* 最初のspanをマイナス45度に */ 95.navToggle.active span:nth-child(1) { 96 top: 18px; 97 left: 6px; 98 border-bottom: solid 3px #eee; 99 -webkit-transform: rotate(-45deg); 100 -moz-transform: rotate(-45deg); 101 transform: rotate(-45deg); 102} 103 104/* 2番目と3番目のspanを45度に */ 105.navToggle.active span:nth-child(2), 106.navToggle.active span:nth-child(3) { 107 top: 18px; 108 border-bottom: solid 3px #eee; 109 -webkit-transform: rotate(45deg); 110 -moz-transform: rotate(45deg); 111 transform: rotate(45deg); 112} 113``````JS 114$(function() { 115 $('.navToggle').click(function() { 116 $(this).toggleClass('active'); 117 if ($(this).hasClass('active')) { 118 $('#globalMenuSp').addClass('active'); 119 } else { 120 $('#globalMenuSp').removeClass('active'); 121 } 122 }); 123});
yoshiokanaoki, ipec👍を押しています

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

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

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

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

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

guest

回答1

8

ベストアンサー

JavaScript

1 $('#manu a[href]').on('click', function(event) { 2 $('.navToggle').trigger('click'); 3 });

投稿2019/02/06 09:02

x_x

総合スコア13749

takahashi_iii, hironag004, Emi_, cicada0335, kei344, motoo888, unotalk👍を押しています

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

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

toritor

2019/02/07 00:43

連絡が遅くなり、すみません。 教えていただきました、記述をJSしたらできるようになりました。 迅速なご対応、ありがとうございました。 ほんとうに助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.54%

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

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

質問する

同じタグがついた質問を見る

JavaScript

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

jQuery

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

HTML

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