WordPressテーマTCDのカスタマイズを研究するサイト

TCDテーマSKIN:スマホでページ内リンクをタップした際にハンバーガーメニューを自動で閉じる方法

この記事は2019年4月8日に更新されたもので、内容が古い可能性がありますのでご注意ください。

Q.ページ内リンクの場合はハンバーガーメニューが自動で閉じるようにしたい。

ハンバーガーメニューでページ内リンクを設定した場合、同一ページ内だと移動は出来るが、メニューが展開されたままになっているので、ページ内リンクの場合はハンバーガーメニューが自動で閉じるようにしたい。

▼テーマ仕様
ページA→(メニューを展開)親/子メニューのBページ内リンク
 →Bページ内のリンク箇所(メニューは閉じている)
ページB→(メニューを展開)親/子メニューのBページ内リンク
 →Bページ内のリンク箇所(メニューが開いたまま)

同一ページ内でハンバーガーメニューを用いてページ内リンクで移動すると、メニューが開いたままになります。

A.下記のカスタマイズを検討ください。

編集ファイル:js/jscript.js 94行目に追加(※位置に指定はありませんが、構文上正しい必要があります。)

 $("#global_menu li > ul > li > a").on("click", function(){
    if($(".menu_button").hasClass("active")) {
      $(".menu_button").removeClass("active");
      $("#header").removeClass("active");
      $("#global_menu").hide();
    } else {
      $(".menu_button").addClass("active");
      $("#header").addClass("active");
      $("#global_menu").show();
    };
  });

ただし、カスタマイズ後は下記のような仕様になります。

※親メニューの場合はタップしてもそのまま移動(メニューは閉じない)
※子メニューはタップすると毎回メニューを閉じる(同一ページ内リンクか他ページへのリンクかは関係ない)

▼カスタマイズ後の仕様
ページA→(メニューを展開)親/子メニューのBページ内リンク
 →Bページ内のリンク箇所(メニューは閉じている)※仕様のまま
ページB→(メニューを展開)親メニューのBページ内リンク
 →Bページ内のリンク箇所(メニューが開いたまま)
ページB→(メニューを展開)子メニューのBページ内リンク
 →Bページ内のリンク箇所(メニューが閉じる)

SKINデモ

この記事は役に立ちましたか?
もし参考になりましたら、下のボタンで教えてください。
今後の記事作成の参考とさせて頂きます!

TCD LABO ご利用上の注意

TCD LABO(ティーシーディー・ラボ)に掲載しているTCDテーマのカスタマイズ情報のご利用にあたっては、必ずカスタマイズするファイルのバックアップをご用意の上、ご利用者様責任において実施をお願いいたします。

またカスタマイズ内容は、バージョンにより異なる場合がございますこと予めご理解賜りますようお願いいたします。

お問合せ・ご要望

TCD LABOへのお問合せやご要望は
ご連絡フォーム をご利用ください。