awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
terwanerik avatar

terwanerik/ScrollTrigger

0
View on GitHub↗
3,964 stars·300 forks·JavaScript·MIT·5 viewsterwanerik.github.io/ScrollTrigger↗

ScrollTrigger

ScrollTrigger is a JavaScript library and DOM scroll event manager designed to execute callbacks and toggle CSS classes when elements enter or exit the browser viewport. It functions as a high-level interface for the Intersection Observer API and a system for initiating visual transitions and asynchronous tasks based on an element's position relative to the viewport.

The tool allows for the definition of precise trigger points using pixel or percentage offsets to control exactly when events fire. It manages scroll-driven visual animations and lazy loading implementations by tracking visibility thresholds.

The library provides capabilities for monitoring scroll activity, such as tracking when scrolling starts, stops, or changes direction. It further supports viewport event triggering to run custom functions or promises as elements cross specific coordinates.

Features

  • Scroll Animations - Provides a system to trigger visual transitions and asynchronous tasks based on element visibility within the viewport.
  • Intersection Observer Wrappers - Functions as a high-level wrapper for the Intersection Observer API to simplify element visibility detection.
  • Viewport Intersection Callbacks - Runs custom functions or promises when elements enter, leave, or remain visible within the browser viewport.
  • Scroll-Driven Animation Tools - Synchronizes visual transitions and CSS property changes with the user's scroll position and element visibility.
  • Scroll Event Controllers - Provides logic to monitor scroll events and direction changes to control UI element states.
  • State-Based CSS Toggling - Dynamically modifies CSS classes on elements to reflect their current visibility state during scrolling.
  • Scroll-Triggered Class Mappings - Maps viewport intersection events to specific CSS class changes to drive visual transitions.
  • Viewport Intersection Events - Triggers custom JavaScript functions when elements enter or exit the viewport based on visibility thresholds.
  • Viewport Threshold Dispatchers - Executes custom callbacks precisely when elements cross predefined pixel or percentage offsets within the viewable area.
  • Scroll Trigger Libraries - Provides a complete JavaScript toolset for executing callbacks and toggling CSS classes during viewport intersection.
  • Viewport Visibility Callbacks - Executes custom functions when elements enter or leave the visible area to trigger tasks like lazy loading.
  • Viewport Relative Tracking - Monitors the real-time position of DOM elements relative to the browser viewport to determine trigger points.
  • Scroll Behavior Observers - Tracks user scrolling behavior to trigger actions when scrolling starts, stops, or changes direction.
  • Scroll-Offset Thresholds - Manages precise trigger points using pixel or percentage offsets to control event firing.
  • Step Trigger Offsets - Allows defining exact trigger moments using pixel or percentage offsets based on element or viewport size.
  • Scroll Observers - Provides observers to track scroll start, stop, and direction changes for reactive UI logic.
  • Lazy Loading Schedulers - Supports lazy loading by scheduling asynchronous tasks when elements enter the viewport.

Star history

Star history chart for terwanerik/scrolltriggerStar history chart for terwanerik/scrolltrigger

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to ScrollTrigger

Similar open-source projects, ranked by how many features they share with ScrollTrigger.
  • janpaepke/scrollmagicjanpaepke avatar

    janpaepke/ScrollMagic

    14,951View on GitHub↗

    ScrollMagic is a DOM scroll interaction framework and animation engine used to map scroll progress to callbacks and visual effects. It functions as a library for triggering animations based on a user's scroll position and the proximity of elements to the viewport. The framework employs a plugin-based system to extend core behavior and customize how elements react during movement. This allows for the development of non-standard scrolling interactions and interactive storytelling experiences where content transitions are tied to the scroll position. The system provides capabilities for viewpor

    TypeScript
    View on GitHub↗14,951
  • brigade/react-waypointbrigade avatar

    brigade/react-waypoint

    4,047View on GitHub↗

    react-waypoint is a set of React components and wrappers designed to execute callbacks when specific DOM elements enter or exit the visible screen area. It functions as a viewport visibility tracker that monitors when elements cross predefined spatial boundaries. The project provides a scroll trigger component and event wrapper that allow for custom offset configurations to account for fixed UI elements. These tools can be configured to use a specific DOM node or the global window as the scrollable ancestor for visibility calculations. The library covers several implementation patterns, incl

    JavaScript
    View on GitHub↗4,047
  • russellsamora/scrollamarussellsamora avatar

    russellsamora/scrollama

    5,982View on GitHub↗

    Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver API to trigger step-based callbacks and animations as the user scrolls through a page. It pins graphic elements using CSS sticky positioning while scrolling through associated text steps, enabling side-by-side narrative experiences without JavaScript-driven layout calculations. The library provides a configurable offset threshold system that accepts a single global offset or per-element data-attribute offsets to define the viewport position that triggers step events. It reports

    HTML
    View on GitHub↗5,982
  • hakimel/csshakimel avatar

    hakimel/css

    4,538View on GitHub↗

    This project is a collection of experimental frontend prototypes, comprising a creative web layout gallery, a CSS user interface component library, and a visual experiment lab. It serves as an interactive animation showcase for holographic effects, audio-visual synthesis, and dynamic state transitions. The repository features specialized implementations of interactive media, including physics-based particle systems, real-time audio-visual synthesis, and an interactive sketching system. It also includes tools for content generation, such as text-based image reconstruction and a web-based prese

    HTML
    View on GitHub↗4,538
See all 30 alternatives to ScrollTrigger→

Frequently asked questions

What does terwanerik/scrolltrigger do?

ScrollTrigger is a JavaScript library and DOM scroll event manager designed to execute callbacks and toggle CSS classes when elements enter or exit the browser viewport. It functions as a high-level interface for the Intersection Observer API and a system for initiating visual transitions and asynchronous tasks based on an element's position relative to the viewport.

What are the main features of terwanerik/scrolltrigger?

The main features of terwanerik/scrolltrigger are: Scroll Animations, Intersection Observer Wrappers, Viewport Intersection Callbacks, Scroll-Driven Animation Tools, Scroll Event Controllers, State-Based CSS Toggling, Scroll-Triggered Class Mappings, Viewport Intersection Events.

What are some open-source alternatives to terwanerik/scrolltrigger?

Open-source alternatives to terwanerik/scrolltrigger include: janpaepke/scrollmagic — ScrollMagic is a DOM scroll interaction framework and animation engine used to map scroll progress to callbacks and… brigade/react-waypoint — react-waypoint is a set of React components and wrappers designed to execute callbacks when specific DOM elements… russellsamora/scrollama — Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver… hakimel/css — This project is a collection of experimental frontend prototypes, comprising a creative web layout gallery, a CSS user… tholman/elevator.js — elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a… prinzhorn/skrollr — Skrollr is a dependency-free scroll-driven animation engine and cross-platform frontend library. It functions as a…