前提・実現したいこと
スマホ用にドロワーメニューを作成しましたが、
ページ内遷移したリンクの場合(#のリンク)、ドロワーメニューが自動で閉じません。
リンククリック後に閉じるにはどのようなJacaScriptを組めばよいでしょうか?
発生している問題・エラーメッセージ
リンク内にページが閉じない
該当のソースコード
HTML
1<div id="nav-drawer"> 2 <input id="nav-input" type="checkbox" class="nav-unshown"> 3 <label id="nav-open" for="nav-input"><i class="fa fa-bars" aria-hidden="true"></i>MENU</label> 4 <label class="nav-unshown" id="nav-close" for="nav-input">×<br>閉じる</label> 5 6 <div id="nav-content"> 7 8 <div class="main_menu"> 9 <nav> 10 <ul> 11 <li> 12 <a href="http://aaaaa.com/page1" title="ページ1">ページ1</a> 13 <div class="tree_menu"> 14 <ul> 15 <li><a href="https://aaaaaa.com/page1/#guide" title="ガイド">ガイドへ</a></li> 16 <li><a href="https://aaaaaa.com/page1/#guide" title="ガイド">ガイドへ</a></li> 17 <li><a href="https://aaaaaa.com/page1/#guide" title="ガイド">ガイドへ</a></li> 18 </ul> 19 </div> 20 21 </li> 22 <li> 23 <a href="https://aaaaaa.com/page2" title="ページ2">ページ2</a> 24 <div class="tree_menu three_clm"> 25 <ul> 26 <li> 27 <ul> 28 <li><a class="parent" href="https://aaaaaa.com/page2/child/" title="">子ページ</a></li> 29 <li><a href="https://aaaaaa.com/page2/child/#info" title="情報">情報</a></li> 30 <li><a href="https://aaaaaa.com/page2/child/#info" title="情報">情報</a></li> 31 <li><a href="https://aaaaaa.com/page2/child/#info" title="情報">情報</a></li> 32 </ul> 33 </li> 34 <li> 35 <ul> 36 <li><a class="parent" href="https://aaaaaa.com/page3/child/" title="">子ページ</a></li> 37 <li><a href="https://aaaaaa.com/page3/child/#info" title="情報">情報</a></li> 38 <li><a href="https://aaaaaa.com/page3/child/#info" title="情報">情報</a></li> 39 <li><a href="https://aaaaaa.com/page3/child/#info" title="情報">情報</a></li> 40 </ul> 41 </li> 42 <li> 43 <ul> 44 <li><a class="parent" href="https://aaaaaa.com/page4/child/" title="">子ページ</a></li> 45 <li><a href="https://aaaaaa.com/page4/child/#info" title="情報">情報</a></li> 46 <li><a href="https://aaaaaa.com/page4/child/#info" title="情報">情報</a></li> 47 <li><a href="https://aaaaaa.com/page4/child/#info" title="情報">情報</a></li> 48 </ul> 49 </li> 50 51 </ul> 52 </div> 53 </li> 54 55 </ul> 56 </nav> 57 </div> 58 </div><!-- nav-content --> 59</div>
CSS
1#nav-drawer { 2 position: relative; 3 z-index: 300; 4} 5 6/*チェックボックス等は非表示に*/ 7.nav-unshown { 8 display:none; 9} 10 11/*アイコンのスペース*/ 12#nav-open { 13 font-size: 16px; 14 background: #333; 15 border-radius: 5px; 16 padding: 5px 10px; 17 margin: 0px 10px; 18 font-weight: bold; 19 color: #FFF; 20 display: block; 21 top: 70px; 22 right: 1%; 23 position: fixed; 24 z-index: 20; 25} 26 27#nav-open i { 28 padding-right:10px; 29} 30 31/*閉じる用の薄黒カバー*/ 32#nav-close { 33 display: block;/*はじめは隠しておく*/ 34 position: fixed; 35 z-index: 600; 36 /*全体に広がるように*/ 37 width: 100%; 38 color: #FFF; 39 /*! padding: 2% 0; */ 40 text-align: center; 41 bottom: 110%; 42 -webkit-transition: .4s; 43 transition: .4s; 44 height: 10%; 45 background-color: rgba(0,0,0,0.85); 46} 47 48/*中身*/ 49#nav-content { 50 overflow: auto; 51 position: fixed; 52 top: 0; 53 z-index: 500;/*最前面に*/ 54 width: 100%;/*右側に隙間を作る*/ 55 height: 90%; 56 /*背景色*/ 57 transition: .3s ease-in-out;/*滑らかに表示*/ 58 -webkit-transform: translatey(-100%); 59 transform: translatey(-100%);/*左に隠しておく*/ 60 background-color: rgba(255,255,255,0.95); 61} 62 63/*チェックが入ったらもろもろ表示*/ 64#nav-input:checked ~ #nav-close { 65 /*カバーを表示*/ 66 bottom: 0%; 67} 68 69#nav-input:checked ~ #nav-content { 70 -webkit-transform: translatey(0%); 71 transform: translatey(0%);/*中身を表示*/ 72 box-shadow: 6px 0 25px rgba(0,0,0,.15); 73} 74 75#nav-content .main_menu{ 76 width:80%; 77 margin:20px auto 0; 78} 79 80#nav-content .main_menu a{ 81 color:#333; 82 display:block; 83 font-size: 1.6rem; 84 font-weight: 600; 85 padding-bottom: 10px; 86} 87 88#nav-content .main_menu .tree_menu{ 89 90 border-top: 1px solid #333; 91 padding: 10px 0 20px; 92} 93 94#nav-content .main_menu .tree_menu > ul{ 95 96 display: flex; 97 position: relative; 98 flex-wrap: wrap; 99 justify-content: space-around; 100} 101 102 103#nav-content .main_menu .tree_menu > ul > li > a{ 104 105 font-size: 1.4rem; 106 font-weight: 400; 107 text-decoration: underline; 108} 109 110 111#nav-content .main_menu .three_clm > ul > li >ul >li >a{ 112 113 font-size: 1.4rem; 114 font-weight: 400; 115 text-decoration: underline; 116} 117 118#nav-content .main_menu .three_clm .parent{ 119 font-size: 1.6rem; 120 text-decoration: none; 121 font-weight: 600; 122} 123 124 125### 補足情報(FW/ツールのバージョンなど) 126 127Wordpress 5.4.2
補足情報(FW/ツールのバージョンなど)
Wordpress 5.4.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/26 20:35
退会済みユーザー
2020/06/29 07:59
2020/06/30 22:34