GSAP Drawer Anime

03 ドロワーフェードイン&メニューも順番にフェードイン

        const pattern3 = () => {
          gsap.set([drawer, ".js-nav-item a"], { visibility: "hidden", opacity: 0 });
          let tl3 = gsap.timeline({
            onReverseComplete: function () {
              gsap.set([drawer, ".js-nav-item a"], {
                visibility: "hidden",
                opacity: 0,
              });
            },
          });
          openButton.addEventListener("click", () => {
            if (!tl3.reversed()) {
              tl3
                .to(drawer, {
                  visibility: "visible",
                  opacity: 1,
                  ease: Power2.easeInOut,
                })
                .to(".js-nav-item a", {
                  stagger: { amount: 0.6 },
                  visibility: "visible",
                  opacity: 1,
                });
            } else {
              tl3.play();
            }
          });
          closeButton.addEventListener("click", () => {
            tl3.reverse();
          });
        };

ドロワーを開いている間、メインコンテンツはスクロールしないようにしてあります。

ドロワーのアニメーションはすべてJavaScriptファイル内(GSAP)で記述しています。(初期設定や見た目はCSS)