こちらのページにナビメニューを設置したのですが、PCで見た時に親要素もリンクで飛べるようにしたいです。
(現在はマウスオーバー でメニューが出てくるのみで、親要素をクリックしても無反応)
https://trip-paris.jp/
現在のjsのどこをいじったらクリックできるようになるのかがわかりません…。
教えていただけると助かります。
※スマホは現在の動作で問題ないです。
現在のjs
// アコーディオンメニュー var opener = close;//flagでクリックしたときのアコーディオンの開くまでの時間を調節 //ウィンドウサイズ640px以下の時の動作 $('nav>ul>li.menu_open>a').on('click',function(){ var winWidth = $(window).width(); if(winWidth < 700){//ウィンドウサイズ640px以上なら if($(this).hasClass('open')){//クリックした要素がopenクラスを持っているなら $(this).removeClass('open'); $(this).next('ul').slideUp(); opener = close; } else{//クリックした要素がopenクラスを持っていないなら var timer; console.log(opener); if(opener !== close){ timer = 500; }else{ timer = 0; } $('.open').removeClass('open'); $('nav>ul>li.menu_open>a').next('ul').slideUp(); var self =this; setTimeout(function(){ $(self).addClass('open'); $(self).next('ul').slideDown(); },timer); opener = open; } event.preventDefault(); }else{//ウィンドウサイズ640px以下なら return false; } }); //ウィンドウサイズ640px以上の時の動作 $('nav>ul>li.menu_open').on('mouseover',function(){//マウスをのせたとき var winWidth = $(window).width(); if(winWidth > 700){//ウィンドウサイズ640px以上なら if(!$(this).children('a').hasClass('open')){ $(this).children('a').addClass('open'); $(this).children('ul').stop().slideDown(); } }else{//ウィンドウサイズ640px以下なら return false; } }).on('mouseout',function(){ var winWidth = $(window).width(); if(winWidth > 700){//ウィンドウサイズ640px以上なら $(this).children('a').removeClass('open'); $(this).children('ul').stop().slideUp(); }else{//ウィンドウサイズ640px以下なら return false; } }); $('nav>ul>li.menu_open').on('click',function(){ var winWidth = $(window).width(); if(winWidth < 700){//ウィンドウサイズ640px以下なら $(this).toggleClass("active"); } });
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/01 13:03
2020/07/01 13:12