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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

Q&A

0回答

1488閲覧

ドロワーメニューをページ内リンクをクリック後、閉じるようにしたい。

babmaru

総合スコア4

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2019/10/22 01:33

前提・実現したいこと

JS初学者です
ドロワーメニューをYOUTUBEで作成しました。
ページ内リンクは遷移しますが閉じません。
ページ内リンクを押してから閉じるようにしたいです。

該当のソースコード

html

1 <!-- グローバルナビゲーション --> 2 <nav class="g_navigation" id="close"> 3 <!-- 宅配リンクナビ --> 4 <ul class="link_nav"> 5 <li> 6 <a class="link_logo" href="/" title="/" target="_blank"> 7 <img src="image/.." alt="出前館"> 8 </a> 9 </li> 10 <li> 11 <a class="link_logo" href="/" title="/" target="_blank"> 12 <img src="image/.." alt="UberEats"> 13 </a> 14 </li> 15 <li> 16 <a class="link_logo" href="/" title="/" target="_blank"> 17 <img src="image/.." alt="finedine"> 18 </a> 19 </li> 20 </ul> 21 <!-- /宅配リンクナビ --> 22 <!-- ナビゲーション --> 23 <ul class="menu_nav" id="close"> 24 <li> 25 <a href="#menu" title="お品書き">お品書き</a> 26 </li> 27 <li> 28 <a href="#sns" title="SNS">SNS</a> 29 </li> 30 <li> 31 <a href="#contact" title="お問い合わせ">お問い合わせ/採用</a> 32 </li> 33 <li> 34 <a href="#store" title="店舗案内">店舗案内</a> 35 </li> 36 </ul> 37 <!-- /ナビゲーション --> 38 </nav> 39 <!-- ハンバーガー --> 40 <div class="burger"> 41 <div class="line"></div> 42 </div> 43 <!-- /ハンバーガー --> 44 <!-- /グローバルナビゲーション -->

css

1 /* 全体ナビゲーション */ 2 3.g_navigation { 4 display: flex; 5 flex-flow: column nowrap; 6 max-width: 700px; 7 width: 100%; 8 height: 7em; 9 border-radius: 5px; 10 box-shadow: 0 0 4px gray; 11 background: #ffffff; 12 position: fixed; 13 top: 2em; 14 right: 2em;; 15 z-index: 15000; 16} 17 18 19/* 各社ナビゲーション */ 20 21.link_nav { 22 display: flex; 23 justify-content: center; 24 align-items: center; 25} 26 27 28/* 各社ロゴ */ 29 30.link_logo { 31 display: block; 32 max-width: 130px; 33 width: 100%; 34 height: auto; 35 margin: .8em 1em .5em 1em; 36} 37 38.link_logo img { 39 width: 100%; 40 height: auto; 41} 42 43.link_logo:hover { 44 opacity: .7; 45} 46 47 48/* メニューナビゲーション */ 49 50.menu_nav { 51 display: flex; 52 justify-content: center; 53 margin: 0 .4em; 54} 55 56.menu_nav li a { 57 display: block; 58 text-align: center; 59 color: #404040; 60} 61 62.menu_nav li { 63 width: calc(100% / 4); 64 border-right: 1px solid #ccc; 65 padding: .3em 0; 66 position:relative; 67 transition:.5s ease-out; 68 overflow:hidden 69} 70 71.menu_nav li a:hover { 72 opacity: .7; 73} 74 75.menu_nav li:last-child { 76 border-right: none; 77} 78 79 80/* ハンバーガー */ 81 82.burger { 83 background: #ff0000; 84 width: 50px; 85 height: 50px; 86 display: none; 87 cursor: pointer; 88} 89 90.line { 91 width: 30px; 92 height: 4px; 93 background: #ffffff; 94 position: absolute; 95 top: 50%; 96 left: 50%; 97 transform: translate(-50%,-50%); 98 box-shadow: 0 2px 4px rgba(0, 0, 0, .2); 99 transition: .5s; 100} 101 102.line:before , 103.line:after { 104 content: ''; 105 position: absolute; 106 width: 30px; 107 height: 4px; 108 background: #ffffff; 109 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); 110 transition: .5s; 111} 112 113.line:before { 114 top: -10px; 115} 116 117.line:after { 118 top: 10px; 119} 120 121.burger.active .line { 122 background: rgba(0, 0, 0, 0); 123 box-shadow: 0 2px 4px rgba(0, 0, 0, 0); 124} 125 126.burger.active .line:before { 127 top:0; 128 transform: rotate(45deg); 129} 130 131.burger.active .line:after { 132 top: 0; 133 transform: rotate(135deg); 134} 135 136 137@media screen and (max-width: 1280px) { 138 139 body { 140 overflow-x: hidden; 141 } 142 143 .g_navigation { 144 position: fixed; 145 top: 0; 146 right: 0; 147 height: 600px; 148 border-radius: 0px; 149 width: 100%; 150 transform: translateX(100%); 151 transition: .5s ease-in; 152 z-index: 25000; 153 } 154 155 .link_nav , .menu_nav { 156 display: flex; 157 flex-flow: column nowrap; 158 align-items: center; 159 border-bottom: 1px solid #404040; 160 width: 100%; 161 padding: 0; 162 margin: 0; 163 } 164 165 .link_nav , .menu_nav li { 166 border-right: none; 167 opacity: 1; 168 padding: 0; 169 margin: 0; 170 } 171 172 .menu_nav li { 173 width: 100%; 174 border-bottom: 1px solid #d3d3d3; 175 padding: 1em 0; 176 } 177 178 .menu_nav li:last-child { 179 border-bottom: none; 180 } 181 182 .burger { 183 display: block; 184 position: fixed; 185 top: 1%; 186 right: 5%; 187 z-index: 30000; 188 } 189} 190 191.nav_active { 192 transform: translateX(0%); 193} 194 195@keyframes navLinkFade { 196 197 from { 198 opacity: 0; 199 transform: translateX(50px); 200 } 201 to { 202 opacity: 1; 203 transform: translateX(0px); 204 } 205}

Javascript

1// ハンバーガー 2const navSlide = () => { 3 const burger = document.querySelector('.burger'); 4 const nav = document.querySelector('.g_navigation'); 5 const g_navigation = document.querySelector('.g_navigation ul'); 6 const close = document.querySelector('#close a[href]') 7 8 burger.addEventListener('click', () => { 9 nav.classList.toggle('nav_active'); 10 11 g_navigation.forEach((link, index) => { 12 if (link.style.animation) { 13 link.style.animation = ''; 14 } else { 15 link.style.animation = 'navLinkFade 0.5s ease forwards ${index / 7 + 1.3}s'; 16 } 17 }); 18 }); 19} 20 21navSlide(); 22 23$(document).ready(function () { 24 $('.burger').click(function () { 25 $('.burger').toggleClass('active') 26 }) 27})

試したこと

様々な参考サイトを見ては試行錯誤を繰り返し3時間ほどやってましたが無理でした。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問