スクロールで物語る(Scroll Storytelling)

このページでは、GSAPのScrollTriggerで実装するscrub・pin・横スクロール・パララックスなど、スクロールに連動した高度なアニメーションパターンをデモとコードで確認できます。

このページはGSAP(ScrollTrigger)専用です。scrub・pin・ピン留めコンテンツ切り替え・横スクロール変換などの高度なスクロール演出は、GSAPのScrollTriggerでしか実現が難しい実装です。 通常のスクロール連動アニメーション(フェードイン・スライドイン)は スクロールで見せる(Scroll Reveal) も参照してください。
GSAP ScrollTrigger
↓ 下にスクロールして6つのデモを体験してください。各セクションのコードは下部で確認できます。

読み込み中...

各デモのコード解説

各デモをクリックして実装コードを確認してください。すべてのデモは useGSAP({ scope: containerRef }) でスコープを設定し、アンマウント時に自動クリーンアップされます。

GSAP ScrollTrigger のポイント

  • gsap.registerPlugin(ScrollTrigger, useGSAP) はコンポーネント外(モジュールレベル)で一度だけ呼ぶ
  • scrub: true はスクロールに即時追従。scrub: 1 は1秒の遅延でなめらかに追従
  • pin: true でセクションをピン留め。スクロールしても要素が固定され、end に到達すると解除
  • start / end"top top" のように「要素の位置 ビューポートの位置」で指定。"+= 400" はピクセル数での相対指定
  • useGSAP({ scope: containerRef } ) でクリーンアップを自動化。アンマウント時にScrollTriggerも破棄される
  • autoAlpha は GSAP 独自のプロパティで opacityvisibility を連動させる
💡 上記のデモは、React / Next.jsです。Next.jsの基本セットアップは 公式ドキュメントを参照してください。