ナビのカレント表示を画像の切り替えで行いたいです。
参考サイト(https://www.snack-world.jp/trejarers/)
パスの該当階層部分(https://〇〇.net/〇〇/〇〇/index.html←この部分)とhrefリンク値が一致していれば、画像のファイル名入れ替え(デフォルトからオンに)
というふうに実装したいのですが、反映されません。
HTML
1 <nav id="navigation" class="main_nav"> 2 <div class="inner_nav"> 3 <ul class="mn_ul"> 4 <li class="mn_li_1"><a href="index.html"><img src="./asset/images/inc/nav_li_1_d.png" alt=""></a></li> 5 <li class="mn_li_2"><a href=""><img src="./asset/images/inc/nav_li_2_d.png" alt=""></a></li> 6 <li class="mn_li_3"><a href=""><img src="./asset/images/inc/nav_li_3_d.png" alt=""></a></li> 7 <li class="mn_li_4"><a href=""><img src="./asset/images/inc/nav_li_4_d.png" alt=""></a></li> 8 <li class="mn_li_5"><a href=""><img src="./asset/images/inc/nav_li_5_d.png" alt=""></a></li> 9 <li class="mn_li_6"><a href=""><img src="./asset/images/inc/nav_li_6_d.png" alt=""></a></li> 10 </ul> 11 12 </div> 13 </nav>
JS
1$(function(){ 2 3 var pageURL = location.pathname, 4 pageURLArr = pageURL.split('/'), //パスを分割して配列化する 5 pageURLArrCategory = pageURLArr[2]; //パスから第1階層を取得 6 7 $('.inner_nav > ul > li > a').each(function (i, v) { 8 var selfhref = $(v).attr('href'), 9 hrefArr = selfhref.split('/'), //href属性の値を分割して配列化する 10 hrefArrCategory = hrefArr[1]; //href属性の第1階層を取得 11 12 //パスの第1階層とhref属性の第1階層を比較して同じ値であれば画像名切り替え 13 if (pageURLArrCategory === hrefArrCategory) { 14 $(v).setAttribute("src", this.getAttribute("src").replace("_on.", "_d.")); 15 } 16 17 }); 18 19 });
お手数おかけいたしますが、
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー