17 个仓库
Hooks that execute custom logic at specific stages of an animation sequence.
Explore 17 awesome GitHub repositories matching user interface & experience · Animation Lifecycle Callbacks. Refine with filters or upvote what's useful.
This project is a declarative motion framework and JavaScript animation engine designed to transition CSS properties, SVG attributes, and DOM elements. It provides a comprehensive set of tools for creating complex, multi-part motion sequences by synchronizing animations, timers, and callbacks into a single, unified timeline. The library distinguishes itself through a robust timeline-based sequence orchestrator that allows for precise timing, label-based control, and hierarchical nesting of animations. It also features a physics-driven interaction library that enables draggable elements with c
Attach custom functions to lifecycle events to execute logic precisely when an animation starts, updates, or finishes.
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
Provides hooks to execute custom logic at specific markers within the scroll-to-render pipeline.
lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render high-quality animations exported from After Effects via the Lottie file format. It functions as a Lottie animation player that allows mobile applications to display hardware-accelerated animations that maintain visual quality across different screen resolutions. The library serves as a dynamic animation controller, enabling the manipulation of playback, color filters, and text layers in real time. It provides the ability to change animation colors and visuals by applying filters t
Includes lifecycle hooks that trigger custom logic when animations finish loading or complete a playback cycle.
lottie-react-native is a library for rendering Lottie JSON animations as native graphics within a cross-platform mobile framework. It serves as a JSON-based animation renderer that parses design-exported files into high-performance vector animations on mobile devices. The framework uses a GPU-accelerated vector animation implementation to offload rendering to the device processor, reducing CPU load to maintain smooth motion. It provides a cross-platform motion framework for controlling animation playback, layout scaling, and dynamic color modifications across different mobile screens. The li
Triggers custom callback functions at specific animation lifecycle stages, such as when an animation finishes.
Vivus is a lightweight JavaScript library designed to animate the drawing of vector graphics within web browsers. It functions as a specialized motion framework that renders and animates complex illustrations by progressively revealing SVG path strokes. The library enables the creation of fluid, programmatic drawing effects for icons and decorative elements. By manipulating path lengths and synchronizing updates with the browser refresh rate, it provides a controlled method for applying motion to static vector assets. The engine supports custom timing and sequencing through declarative easin
Provides lifecycle hooks that trigger custom functions at specific animation milestones for orchestrating multi-step visual sequences.
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Provides lifecycle callbacks to manipulate transition effects directly using browser APIs.
tween.js is a JavaScript animation engine and numeric interpolation library. It is designed to calculate intermediate values between a start and end state over time, using easing functions to create smooth transitions for numeric values and object properties. The project functions as both an animation sequence manager and an easing library, allowing for the coordination of concurrent animation groups and the chaining of multiple transitions. It provides tools for managing the rate of change through acceleration and deceleration functions. The library covers a broad range of motion capabiliti
Includes hooks that execute custom logic at specific stages, such as start or completion, of an animation.
tsparticles is a JavaScript particle animation library and configuration-driven visual effects engine used to create customizable effects, confetti, and interactive backgrounds using HTML5 Canvas. It functions as a plugin-based graphics engine and a web component animation engine, allowing for the generation of complex behaviors and themes through structured JSON configuration objects. The project provides a cross-framework animation wrapper with dedicated compatible components for integrating effects into React, Vue, Angular, and Svelte. Its modular architecture allows users to extend the en
Includes an event system to trigger callbacks once the animation container has successfully initialized.
elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a webpage. When clicked, it smoothly animates the page back to the top while playing a looping elevator music track in the background, masking the transition and adding a whimsical touch to the user experience. The library goes beyond a simple scroll-to-top button by offering configurable scroll duration, the ability to scroll to any specified DOM element with optional vertical padding, and callback hooks that fire user-defined functions at the start and end of the animation. This allo
Fires user-defined functions at the start and end of the scroll animation.
React Move is a declarative animation library for React that animates components by interpolating between start and end states with configurable timing and easing. It provides data-driven transitions for single elements, groups, lists, and SVG elements, supporting staggered timing, custom interpolation for non-numeric values like colors and paths, and drag-and-drop reordering of list items. The library distinguishes itself through its support for custom interpolation functions that replace default numeric interpolation, keyed array reconciliation for tracking items as they enter, update, or l
Fires user-defined functions at transition start, interruption, and completion points during animation.
bounce.js 是一个 JavaScript 库和程序化包装器,用于生成和应用 CSS3 关键帧动画和 3D 变换。它提供了一个无需编写手动样式表规则即可创建复杂动画序列的工具。 该库允许通过链接缩放、旋转、平移和倾斜变换来创建动画。这些生成的序列可以以唯一名称保存,以便在多个元素之间重复使用。 该系统通过在视觉序列完成时触发的回调函数来管理动画生命周期。它还包括一个兼容性检查器,以验证浏览器环境是否支持所需的 3D 变换和关键帧规范。
Includes callback functions that trigger specifically when a CSS animation sequence completes.
Moti 是一个跨平台动画框架和状态驱动的动画引擎,旨在跨移动端和 Web 平台创建一致的视觉过渡和运动效果。它作为一个原生线程动画包装器和库,利用共享值系统在逻辑层和原生渲染引擎之间同步状态变化。 该框架通过其布局过渡工具以及在原生线程上执行复杂序列和循环以保持高帧率的能力而脱颖而出。它提供了一个系统,用于协调组件进入或离开用户界面时的平滑入场和出场动画。 该项目涵盖了广泛的运动功能,包括使用命名变体的基于状态的样式过渡、关键帧序列以及将用户输入映射到视觉范围的交互式动画。它还包括用于动画加载状态的专用组件,例如闪烁的占位符。
Executes custom logic functions immediately after an animation sequence completes its playback.
Mixitup 是一个无依赖的 DOM 元素动画库和网格布局引擎。它作为客户端内容过滤器和数据驱动的 UI 控制器,旨在管理 HTML 元素在插入、移除和排序操作过程中的平滑视觉过渡。 该系统专注于创建交互式画廊界面和动态内容过滤。它允许使用自定义属性或随机序列重新组织元素,同时将界面元素的排列和可见性与底层数据模型同步。 除了过滤和排序,该库还涵盖了 DOM 元素管理,包括目标的动态插入和移除。它提供了动画化容器大小调整、定义自定义动画效果以及利用非线性交错效果来呈现元素的能力。
Provides hooks that execute custom logic at specific stages of an animation sequence.
该项目是关于 iOS 上 Core Animation 框架的高级视觉效果和硬件加速动画的技术指南和实现库。它为创建高性能动态图形、自定义图形渲染以及使用透视变换和 Z 轴操作构建 3D 引擎提供了全面的参考。 该集合通过对 GPU 渲染优化和图形性能的深度关注而脱颖而出。它涵盖了保持高帧率的高级策略,例如通过阴影路径优化减少离屏渲染、实现异步图像加载和解压,以及利用基于光栅化的内容缓存。 该项目涵盖了广泛的功能领域,包括 3D 对象构建、粒子系统生成以及集成设备传感器数据以实现基于物理的动画。它还详细介绍了复杂的动画控制,从关键帧插值和自定义计时曲线到手动动画擦除和播放速度调整。 其他内容包括空间布局管理、矢量形状绘制以及用于测量 GPU 利用率和分析渲染性能的诊断工具。
Provides hooks to execute custom logic immediately after a set of layer animations completes.
react-flip-toolkit 是一个基于坐标的过渡框架和 React 布局动画库。它使用 magic-move 技术来计算元素位置,通过插值和物理效果防止布局偏移期间的突兀跳动。 该库提供了一个基于弹簧的运动引擎,使用刚度和阻尼设置来为布局和样式变化创建自然运动。它包含用于共享元素过渡的专用工具,这些工具协调跨客户端路由变化的视觉移动,以保持不同页面之间的连续性。 该系统涵盖了布局过渡动画和非布局属性插值。它通过交错动画序列管理时序,并包含变换中和功能,以防止父容器缩放时子元素变形。该框架还提供动画回调触发器,以在特定的生命周期里程碑执行逻辑。
Executes custom logic callbacks at specific animation milestones, such as completion or appearance.
react-flip-move 是一个 React 动画库,旨在利用 FLIP 技术为 DOM 元素过渡和列表重排序添加动画效果。它作为一个布局过渡组件和 DOM 过渡工具,可在状态变更期间创建平滑的移动效果。 该库专注于元素在列表中添加、删除或重排序时的硬件加速过渡。它采用边界框位置跟踪来计算布局偏移,并支持交错动画计时以创建序列化的视觉流。 其功能涵盖布局过渡编排,包括进入和退出动画、初始挂载序列,以及防止布局跳动的容器尺寸保持。该系统还为自定义位置检测和包装元素定义提供了生命周期回调和配置选项。
Provides hooks that execute custom logic at the start and end of animation sequences.
This library is a declarative framework for creating complex motion sequences and visual transitions within Flutter applications. It provides a unified interface for orchestrating interface element transformations, property updates, and animation lifecycles without requiring manual controller management or boilerplate code. The framework distinguishes itself through a fluent builder pattern that allows developers to chain multiple independent motion effects into a single execution pipeline. It supports advanced visual customization by integrating custom fragment shaders for GPU-accelerated re
Executes custom logic at specific points during a motion sequence to coordinate application state changes.