横からメニューが出るjQuery

タップで読みたいところにジャンプします

使用したjQuery

  • click()
  • hasClass()
  • removeClass()
  • addClass()
  • animate()

jQuery の コード

$(function(){
//08_ドロワー
  var drawer08 = 250;
  $('.drawer08__burgerIcon').click(function () {
 if ($('.drawer08__barsIcon').hasClass('fa-bars')) {
    //アイコン表示のためにクラスを加えたり消したりする
    $('.drawer08__barsIcon').removeClass('fa-bars');
    $('.drawer08__barsIcon').addClass('fa-xmark');
  } else {
    $('.drawer08__barsIcon').removeClass('fa-xmark');
    $('.drawer08__barsIcon').addClass('fa-bars');
  }
  //ドロワー部		
  $('.drawer08__mainItems').animate({ 'right': '+=' + drawer08 + 'px' }, 200);
    drawer08 *= -1;
  });
});

HTML のコード

<div class="drawer08__board glContainer">
  <div class="drawer08__areaBoardTitle">
    <h2 class="drawer08__boardTitle">宮沢賢治作品</h2>
    <div class="drawer08__spacerBurger">
      <div class="drawer08__burgerIcon">
        <i class="fa-solid fa-bars fa-fw drawer08__barsIcon" style="color: #ffffff;">
        </i>
      </div>
    </div>
  </div><!-- .drawer08__areaBoardTitle -->
  <nav class="drawer08__nav">
    <ul class="drawer08__mainItems">
      <li class="drawer08__item">
        <a class="drawer08__show" href="#railroad">銀河鉄道の夜</a>
      </li>
      <li class="drawer08__item">
        <a class="drawer08__show" href="#restaurant">注文の多い料理店</a>
      </li>
      <li class="drawer08__item">
        <a class="drawer08__show" href="#cello">セロ弾きゴーシュ</a>
      </li>
      <li class="drawer08__item">
        <a class="drawer08__show" href="#wind">風の又三郎</a>
      </li>
      <li class="drawer08__item">
        <a class="drawer08__show" href="#karidoshi">雁の童子</a>
      </li>
    </ul>
  </nav>
</div>

CSS の コード

.drawer08 {
  &__board {
    width: 45%;
    border: 1px solid;
    overflow: hidden;
  }

  //表題の体裁を整える
  &__areaBoardTitle {
    height: 60px;
    background-color: variable.$bright3_color;
    display: flex;
    padding: 0 10px;
    justify-content: space-between;
    align-items: center;
  }

  &__boardTitle {
    justify-self: center;
    font-size: 1.25em;
    font-weight: bold;
    color: #fff;
  }

  &__barsIcon {
    font-size: 35px;
  }

  &__nav {
    position: relative;
  }

  &__mainItems {
    position: absolute;
    top: 0;
    right: -250px;
    width: 250px;
  }

  &__item {
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
    background-color: variable.$bright4_color;
  }
}

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

タップで読みたいところにジャンプします