In den eigenen Worten des Skills
ScrollTrigger ist GSAPs Plugin für scrollgebundene Animation: Es löst Tweens und Timelines an Scroll-Positionen aus, pinnt Abschnitte, scrubbt den Fortschritt zum Scroll und steuert eine Timeline durch einen Start-/End-Bereich.
Es legt das Konfigurationsvokabular vollständig dar — trigger, start/end einschließlich clamp() und relativer Werte, endTrigger, scrub, toggleActions, pin und pinSpacing, snap, scroller, id, refreshPriority — und ergänzt ScrollTrigger.batch() für gestaffelte Reveals, die gemeinsam eintreffen, scrollerProxy() für Drittanbieter-Smooth-Scroller und containerAnimation für simuliertes horizontales Scrollen. Standardwerte sind pro Option angegeben, zusammen mit einer Best-Practices-Checkliste und einer expliziten Verbotsliste zu React-Cleanup, Refresh-Reihenfolge, Ease und übrig gebliebenen Markern.
Was er erzeugt
- Ein Tween oder eine Timeline, deren Fortschritt über den Start-zu-End-Bereich des Triggers an die Scroll-Position gebunden ist.
- Ein eigenständiges ScrollTrigger, das ohne verknüpften Tween erstellt wird, verwendet mit Callbacks für benutzerdefiniertes Verhalten wie das Aktualisieren der UI anhand von self.progress.
- Ein Array von ScrollTrigger-Instanzen, eine pro Batch-Ziel, zurückgegeben von ScrollTrigger.batch().
- Verschachtelte Tweens, die basierend auf der horizontalen Bewegung eines containerAnimation-Tweens ausgelöst werden.
So funktioniert es
- 01Registrieren Sie das Plugin einmal
ScrollTrigger wird als Plugin und nicht als Teil der Core-Animations-API ausgeliefert. Deshalb registrieren Sie es einmalig nach dem Laden des Skripts, bevor eine scrollTrigger-Konfiguration ausgeführt wird.
- 02Fügen Sie eine scrollTrigger-Konfiguration hinzu
Ein Tween oder eine Timeline erhält ein scrollTrigger-Objekt, das das Trigger-Element sowie einen Start- und Endwert benennt, die die Trigger-Position im Verhältnis zur Viewport-Position beschreiben.
- 03Wählen Sie, wie Scroll den Playhead steuert
Scrub koppelt den Fortschritt kontinuierlich an die Scroll-Position, optional mit einer numerischen Nachlaufverzögerung, während toggleActions bei den vier Übergangspunkten discrete Play-/Reverse-Aktionen auslöst.
- 04Fixieren Sie einen Abschnitt und scrubben Sie eine Timeline
Pinning hält das Trigger-Element fest, solange der Bereich aktiv ist, und eine an diesen ScrollTrigger gebundene Timeline bewegt ihre Kinder über dieselbe Start-bis-Ende-Spanne.
- 05Fassen Sie Elemente zusammen, die gemeinsam eintreffen
ScrollTrigger.batch() erstellt pro Ziel einen ScrollTrigger und sammelt deren Callbacks über ein kurzes Intervall, sodass fast gleichzeitig eintreffende Elemente in einem Aufruf mit einem Stagger animiert werden können.
- 06Beenden Sie Instanzen, wenn Inhalte verschwinden
Beim Entfernen animierter Elemente oder beim Seitenwechsel, etwa in einer Single-Page-App, müssen die zugehörigen Instanzen beendet werden, damit sie nicht weiter gegen veraltete Elemente laufen.