Web活のロゴ

Web制作Output&初心者のための徹底ガイド

便利なscrollTriggerのオプション
— Gsap-toggleClass —

2023.06.18GsapのtoggleClassの使い方
はじめに
概要

scrollTriggerと連動して使えるの機能の一つがtoggleClassです。JavaScriptのtoggleメソッドと同様の考え方で、スクロール開始と同時にクラスを追加し、終了とともにそのクラスが削除されます。これを活用することで、さまざまなアニメーション効果を実現できますので、ぜひマスターして活用してください。なお、こちらの記事はscrollTriggerを理解したことが前提となっています。scrollTriggerについての詳細は、こちらの記事を参照してください。

スポンサーリンク
※本記事の情報は執筆時点のものであり、閲覧時点では変更されている可能性があります。また、ご利用の環境によっては、本記事の内容が正常に動作しないことがあります。最新の情報については、公式サイトなどでご確認ください。

toggleClassで出来ること

当サイトのサイドバーのアニメーションを例に見ていきましょう。

サイドバーのアニメーション

以下の動画では、Gsapのmarkersを使用しています。これにより、サイドバーのアニメーションの挙動がわかりやすく表示されています。

toggleClassの使い方

javascript

function setScrollTrigger(trigger, target) {
  gsap.timeline({
    scrollTrigger: {
  // スクロールを開始するクラスを指定。ここではtriggerという引数を記述
      trigger,
      start: "top 50%",
      end: "bottom 50%",
      markers: true,
            // toggleClassの記述
      toggleClass: {
                // 付与したいクラスを指定
        targets: target,
                // 付与したいクラス名を指定
        className: "is-active",
      },
    },
  });
}

setScrollTrigger(".js-1", ".target-1");

以下の関数は、引数を設定して再利用できるように設定されています。これはscrollTriggerの中で使用することができます。付与したいクラスとクラス名を指定することができます。実際にスクロールして挙動をデベロッパーツールで確認してみましょう。

デベロッパーツールで挙動を確認

CSS

.target-1.is-active {
  background-color: #cce4ff;
}

上記を記述することで、.is-acrive(名前は任意)が付与した際にアニメーションが開始され終了と共にbackground-colorが外れることになります。

スポンサーリンク
まとめ
  • Gsapのスクロールアニメーションを活用すれば、あらゆる動作が可能になる
  • toggleClassが容易に使用できる
  • 関数にまとめれば使い回しができる

こちらの記事がとても参考になりました。ありがとうございます。