便利なscrollTriggerのオプション
— Gsap-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が容易に使用できる
- 関数にまとめれば使い回しができる
こちらの記事がとても参考になりました。ありがとうございます。