30 open-source projects similar to janpaepke/scrollmagic, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ScrollMagic alternative.
Skrollr is a dependency-free scroll-driven animation engine and cross-platform frontend library. It functions as a toolkit for linking CSS properties and HTML attributes to scroll positions to create synchronized animations, specifically providing utilities for the interpolation of SVG attributes. The library enables the creation of parallax scrolling and interactive web storytelling by mapping scroll offsets to specific style values. It allows for the development of non-linear movement and dynamic SVG effects through the use of custom HTML attributes that define keyframes. The system covers
AOS is a scroll-triggered animation library that controls the execution, timing, and mapping of CSS transitions based on element visibility and browser viewport intersections. It functions as a DOM element animation controller and a viewport intersection trigger to initiate visual transitions as elements enter the screen. The library utilizes a custom CSS transition bridge to map scroll-based triggers to CSS class changes, enabling integration with external styling frameworks. It supports anchor-based animation triggers, allowing the visibility of one page element to act as the trigger point
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
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 visibilit
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
Locomotive Scroll is a JavaScript library and toolkit for managing DOM scroll interactions, featuring a smooth scroll motion controller and a parallax scrolling engine. It provides a system for implementing fluid scrolling and tracking element visibility within the viewport. The library creates depth and motion by moving elements at different speeds relative to the scroll position. It includes a viewport visibility tracker used to initiate visual transitions and animations when specific elements enter the browser viewport. The toolkit covers programmatic scroll control, dynamic element regis
Waypoints is a JavaScript library designed for monitoring scroll positions and managing viewport-based triggers. It provides utilities to execute functions when page elements enter or exit the visible browser area, track specific scroll offsets, and implement sticky element pinning. The library includes specialized tools for building infinite scrolling interfaces that fetch and append content to replace traditional pagination. It also manages the positioning of elements that transition to a fixed screen location once a specific scroll threshold is reached. The system covers broader capabilit
WOW is a JavaScript library and frontend animation controller that triggers CSS animations when elements enter the browser viewport during scrolling. It functions as a viewport trigger engine, managing the timing and execution of visual transitions for both static and dynamic page content. The library integrates scroll events with CSS animations and effects from libraries such as Animate.css. It utilizes intersection observers to monitor viewport entry and mutation observers to track and apply animation triggers to new elements added to the DOM after the initial setup.
GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib
Scroll-timeline is a JavaScript library and standards-based browser polyfill that implements scroll-driven animations and scroll timelines for environments lacking native platform support. It links web animations and CSS animations directly to the user's scroll position or element visibility instead of time, enabling fluid visual effects tied to page movement. The library supports scroll-driven page effects such as scaling image dimensions, panning background positions across large visual elements, and revealing transitions between visual states progressively as the user scrolls. It also trig
Lax.js is a lightweight JavaScript library designed for creating scroll-driven animations and interactive motion effects on web pages. It functions as a frontend interaction framework that enables developers to apply dynamic visual transformations to elements as they enter or exit the viewport. The library distinguishes itself by decoupling animation logic from core scripts through a declarative mapping system that utilizes data attributes. It processes scroll progress through a functional pipeline, mapping vertical offsets to specific CSS property ranges using linear interpolation to ensure
Rellax is a dependency-free vanilla JavaScript library and frontend utility used to create parallax web design effects. It functions as a scroll-based animation tool that moves page elements at different speeds to produce a sense of depth and layered motion. The library supports both vertical and horizontal parallax tracking for panoramic layouts and allows for motion speed control. It includes breakpoint-aware speed mapping to adjust movement based on screen width and provides viewport centering to position elements relative to the center of the screen. Beyond basic motion, the tool manages
React Parallax is a React animation component library that creates multi-speed scrolling background depth effects. It computes relative scroll positions within viewports to translate raw page offsets into normalized animation progress values, applying hardware-accelerated translation and scaling styles to DOM nodes for smooth visual movement. The library supports rendering background images and arbitrary visual elements that shift positions at different speeds relative to foreground content. It provides dynamic Gaussian blur filter transitions that interpolate based on current scroll velocity
GreenSock-JS is a JavaScript animation library and framework designed for animating CSS properties, SVG attributes, and JavaScript values. It functions as a scroll-driven animation engine and a sequencing system for coordinating multiple animations into a single timeline for precise execution across web browsers. The project provides tools for creating interactive scroll effects by linking animation progress to a user's scroll position. It also includes a responsive animation framework that adjusts behaviors and timing based on media queries to maintain consistency across different device scr
This project is a Three.js utility library and a collection of declarative React components designed for building 3D scenes. It provides a set of abstractions that wrap low-level primitives to manage lifecycles and memory disposal, serving as a geometry generator, a post-processing pipeline, and a scroll-driven animation tool. The library is distinguished by its specialized camera control systems, which include unified abstractions for orbit and perspective views as well as real-time face tracking and landmark detection via webcam feeds. It also features interactive transform gizmos for objec
React Scroll Parallax is a component library and JavaScript animation tool for creating scroll-driven visual effects and layered depth in web applications. It supplies shared scroll metrics and controller access down the component tree through context providers, applying hardware-accelerated style changes such as translation, rotation, and opacity to animate elements. The system tracks element positions relative to viewport boundaries to calculate continuous scroll ratios while batching calculations to sync with browser refresh rates and automatically recomputing layouts during dynamic content
DiscreteScrollView is a UI component and animation library for React Native designed to create centered scroll views and infinite scroll lists. It provides a mechanism to keep the active selection centered within the viewport while maintaining the visibility of adjacent items. The library enables the implementation of infinite carousels by looping through data sets without boundaries. It allows for the application of visual transformations to items based on their real-time scroll position relative to the center of the view. The toolset includes capabilities for monitoring selection states an
laxxx is a lightweight JavaScript framework for creating scroll-driven animations and DOM element bindings. It functions as a CSS interpolation engine and animation utility that maps numeric driver values to HTML attributes and styles in real time. The framework specializes in linking visual properties to scroll position and velocity, featuring built-in inertia to smooth out transitions and prevent abrupt visual jumps. It utilizes a driver-based system to generate numeric streams from inputs like mouse movement or time, which are then transformed into CSS outputs through easing equations and
ScrollReveal is a client-side JavaScript library used to trigger CSS animations and transitions for page elements as they enter the browser viewport. It functions as a DOM element animation trigger and a simplified wrapper for the Intersection Observer API to coordinate visual entrance effects and staggered animations based on the user's scroll position. The library focuses on scroll-driven motion and reveal effects, enabling the execution of visual changes and animations automatically as a user navigates a website. It manages the reveal of page content to create movement and progression with
Noctalia is a Wayland desktop shell and layer shell manager designed to coordinate bars, docks, and notification centers through a unified interface. It functions as a low-resource system controller and execution environment that maintains a minimal memory footprint for unobtrusive background operations. The project features a plugin-based extension system for adding custom widgets, launcher providers, and background services. It includes a real-time configuration engine that monitors files to update desktop appearance and behavior without requiring a restart. The system integrates with Wayl
Webstudio is a visual CMS and website builder that provides a visual development environment for designing and publishing websites. It functions as an AI-powered design tool, a REST and GraphQL API client, and an atomic CSS compiler. The platform distinguishes itself through generative AI capabilities for creating layout variants and refining visual styles from text prompts. It integrates a headless CMS workflow that maps external data sources to visual components and utilizes a specialized compiler to convert design tokens into deduplicated atomic CSS for optimized page load speeds. The sys
Framer Motion is a React animation library and hardware-accelerated motion engine. It provides a suite of systems for managing declarative transitions, automated layout interpolation, and animation states within React user interfaces. The project distinguishes itself through a layout transition orchestrator that automatically interpolates visual changes when elements shift position or size. It includes an interactive gesture system to trigger motion based on drags, hovers, and taps, as well as tools for binding animation progress to scroll positions. The library covers a broad range of motio
Motion is a high-performance animation library that provides a unified, declarative architecture for managing visual transitions and motion states across web interfaces. By utilizing a lightweight engine, it allows developers to define complex animations through component properties rather than manual DOM manipulation, ensuring consistent behavior across various component-based frameworks and vanilla JavaScript environments. The library distinguishes itself through a sophisticated physics-based motion engine that simulates natural movement using mass, damping, and stiffness parameters. It inc
Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls. The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects. The library covers a broad range of operational capabilities,
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
ui-grid is an enterprise data grid component for Angular applications designed to display tabular data. It functions as an interactive data table that supports virtualization to maintain performance when rendering large datasets. The grid provides specialized capabilities for professional data management, including row grouping, column pinning, and state persistence. It allows for the organization of complex data hierarchies and the transformation of flat records into grouped or tree structures. The component covers a broad range of data management features, including in-place cell editing,
WOW is a JavaScript library and animation engine designed to trigger CSS animations when elements enter the browser viewport during page scrolling. It serves as a tool for orchestrating visual transitions based on the user's scroll position and element visibility. The library functions as a dynamic content animation tool, capable of detecting and animating new elements added to the page after the initial load. This allows visual effects to be applied to dynamically injected content without requiring a page refresh. The system utilizes the Intersection Observer API to detect viewport entry an
ScrollReveal is a JavaScript library designed to manage scroll-triggered visual transitions for web elements. It functions as a framework for tracking element visibility relative to the browser viewport, allowing developers to apply declarative animation sequences as users scroll through a page. The library provides centralized control over motion design by maintaining a global configuration registry that merges with local element settings to ensure consistent behavior. It distinguishes itself through its lifecycle management capabilities, which include the ability to stagger the reveal of mu
This library provides a collection of component-based wrappers designed to automate element entrance animations within web interfaces. By utilizing the browser's intersection observer capabilities, it tracks element visibility to trigger visual transitions automatically as content enters the viewport. The library distinguishes itself through declarative orchestration, allowing for the creation of sequential and staggered reveal patterns across groups of elements. It manages the animation lifecycle by dynamically injecting CSS keyframes into the document, ensuring that motion effects are appli
uillayouts is a comprehensive design system consisting of interactive components, responsive templates, motion-enhanced UI kits, and advanced visual effect toolkits. It provides a collection of accessible React UI components and pre-designed layout sections for landing pages. The project is distinguished by a specialized visual effects library and motion-driven components. It features high-performance graphical enhancements such as glassmorphism, mesh gradients, noise overlays, and SVG masking, alongside interactive elements that utilize physics-based animations and cursor-tracking effects.