jQueryのtoggleメソッドを使って下層ページのメニューをonClickで表示したいと思っています。
表示させるところまでは出来たのですが、欄外(該当のメインメニューボタンと下層ページへのリンクボタン以外)をクリックしたときに下層ページへのメニューボタンが消えるようにしたいのと、メインメニューボタンをクリックしたときに文字に色が付くようにしたいと思っています。
いくつか方法は見つけたのですがそれをどうやってくっつけてスクリプトを完成させればよいのかがプログラミングは全くの初心者で分からないので教えていただければ嬉しいです。
html
1<ul class="gnav"> 2 <li class="menu01"><a>memu01</a></li> 3 <li class="menu02"><a>memu02</a></li> 4 <li class="menu03"><a>memu03</a></li> 5 <li class="menu04"><a>memu04</a></li> 6</ul> 7 8<ul class="low-nav01"> 9 <li class="low-menu01"><a href="low-memu01.html">low-memu01</a></li> 10 <li class="low-menu02"><a href="low-memu02.html">low-memu02</a></li> 11 <li class="low-menu03"><a href="low-memu03.html">low-memu03</a></li> 12 <li class="low-menu04"><a href="low-memu04.html">low-memu04</a></li> 13</ul> 14 15<ul class="low-nav02"> 16 <li class="low-menu01"><a href="low02-memu01.html">low-memu01</a></li> 17 <li class="low-menu02"><a href="low02-memu02.html">low-memu02</a></li> 18 <li class="low-menu03"><a href="low02-memu03.html">low-memu03</a></li> 19 <li class="low-menu04"><a href="low02-memu04.html">low-memu04</a></li> 20</ul>
css
1ul { 2display: flex; 3justify-contents: center; 4align-items: center; 5flex-wrap: wrap; 6width: 100%; 7} 8li { 9width: calc(100%/4); 10li.active { 11color: #f3c50f; 12}
jQuery
1$(function() { 2 $('li.menu01 a').click(function(){ 3 $('.low-nav01').toggle(); 4 }); 5 }); 6 7$(function() { 8 $('li.menu02 a').click(function(){ 9 $('.low-nav02').toggle(); 10 }); 11 }); 12 13$(function() { 14 $('li.menu03 a').click(function(){ 15 $('.low-nav03').toggle(); 16 }); 17 }); 18 19$(function() { 20 $('li.menu04 a').click(function(){ 21 $('.low-nav04').toggle(); 22 }); 23 });
jQuery
1//色を変えるなら下記? 2$(function(){ 3 $(".gnav li a").click(function () { 4 $(".gnav li a").removeClass("active"); 5 $(this).addClass("active"); 6 }); 7 }) 8//範囲以外をクリックしたら消える? 9$('.gnav li a').click(function(event) { 10 event.stopPropagation(); 11});
自分で調べてみてなんとなくくっつけてみたりしたもののなかなかうまくいきません。どなたかお教えいただけると嬉しいです。
toggleでメニューを出す部分ももっと簡単にまとめて書けるのかもしれませんが、なにせデザイン専門なためどのようにまとめれば良いかも分からないので何かアドバイスいただければ嬉しいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/06 06:21
2018/02/06 06:57
2018/02/08 08:37