LoginSignup
0
0

More than 3 years have passed since last update.

ハンバーガーメニューのリンク先をクリックでメニューを閉じる方法

Posted at

ハンバーガーメニューを実装した際に、リンク先をクリックしてもメニューが閉じずに 「×」でしかメニューが閉じず困りました。
調べてなんとか実装できたので備忘録として書いていきます。

実装したときのコード

index.html
          <nav>
            <h1 class="gn-header__logo">AAA社</h1>
            <ul class="gn-header__list">
              <li class="gn-header__item"><a href="#feature" class="gn-header__item-link"></a>A</li>
              <li class="gn-header__item"><a href="#price" class="gn-header__item-link">B</a></li>
              <li class="gn-header__item"><a href="#work" class="gn-header__item-link">C</a></li>
              <li class="gn-header__item"><a href="#flow" class="gn-header__item-link">D</a></li>
              <li class="gn-header__item"><a href="#contact" class="gn-header__item-link">E</a></li>
            </ul>
          </nav>
index.html
        <!-- burger-menu -->
        <div class="burger-btn" id="js-burger-btn">
          <span class="bar bar_top"></span>
          <span class="bar bar_mid"></span>
          <span class="bar bar_bottom"></span>
        </div><!-- burger-menu -->
script.js
jQuery(function($){$('.gn-header__item a').on('click', function(){
    if (window.innerWidth <= 768) {
        $('#js-burger-btn').click();
    }
});});

JSでなにが行われているのかをみていきます。
gn-header__item aをクリックしたとき、もしもinnerWidthが768px以下であれば,
js-burder-btnをクリックしてイベント処理を実行させています。

まとめ

こちらのコードで100点なのかどうかはわかりませんが、とりあえず実機でも問題なく動作していますので良いかなって思います。
もう少しjQueryやJSを学習してプログラミング力をつけねば。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0