awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
mciastek avatar

mciastek/sal

0
View on GitHub↗
3,693 星标·176 分支·HTML·MIT·11 次浏览mciastek.github.io/sal↗

Sal

Sal is a lightweight vanilla JavaScript library designed to trigger CSS animations and execute custom logic as elements enter the browser viewport. It serves as a programmatic wrapper for the Intersection Observer API, providing a viewport trigger system to handle visibility thresholds and scroll-based animations.

The library operates as a dependency-free frontend tool that manages animations through a class-based trigger mechanism and the injection of CSS custom properties. It includes a system for tracking dynamic content, allowing the observer to be updated to include new elements injected into the document at runtime.

The project covers viewport visibility tracking and animation playback control, enabling the definition of visibility thresholds and the execution of events when elements enter or exit the visible screen area.

Features

  • Scroll-Triggered Animations - Activates CSS animations when elements enter the viewport using configurable durations and easing.
  • Visibility Event Hooks - Dispatches custom events when elements enter or exit the viewport to allow external logic integration.
  • Viewport Transition Handlers - Executes CSS transitions and custom logic based on element visibility thresholds in the viewport.
  • DOM Element Re-scanning - Refreshes the monitored target list at runtime to include newly injected DOM elements.
  • Element Visibility Detection - Executes custom JavaScript logic or events when specific page elements enter or exit the visible screen.
  • Class-Based Animation Triggers - Initiates predefined stylesheet transitions by toggling specific CSS classes on elements.
  • Viewport Visibility Observers - Executes custom logic when animated elements enter or exit the visible screen area.
  • Dynamic Element Observation - Detects and tracks new elements added to the DOM asynchronously to apply scroll animations.
  • Intersection Observer Wrappers - Provides a programmatic wrapper for the Intersection Observer API to handle visibility thresholds.
  • Scroll Trigger Libraries - A lightweight vanilla JavaScript library that triggers CSS animations upon viewport entry.
  • CSS Variable Animators - Controls animation timing and easing by dynamically updating CSS custom properties on target elements.
  • Animation Playback Controls - Provides controls to determine if animations play once or repeat upon each viewport entry.
  • Animation State Tracking - Tracks playback status and iteration counts for individual animation instances during scrolling.
  • Dynamic Content Animation Tools - Adds animation observers to new elements injected into the DOM without reloading the page.
  • Visibility Trigger Configurators - Defines the percentage of an element's area or root margin required to trigger animations.
  • Dependency-Free Frontend Libraries - Provides a dependency-free, small-footprint utility for adding scroll-triggered visual effects.
  • Scroll-Based Animations - Performance-focused, lightweight scroll animation library.

Star 历史

mciastek/sal 的 Star 历史图表mciastek/sal 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Sal 的开源替代方案

相似的开源项目,按与 Sal 的功能重合度排序。
  • camwiegert/in-viewcamwiegert 的头像

    camwiegert/in-view

    4,611在 GitHub 上查看↗

    in-view is a DOM visibility detector and intersection observer wrapper. It serves as a viewport transition handler that triggers callbacks and events when specific screen elements enter or exit the browser window. The library provides a system for configuring visibility criteria using pixel offsets, percentages, or custom test functions. It includes utilities for observing visibility changes, performing manual visibility evaluations, and checking the current status of an element within the visible area. These capabilities support application patterns such as lazy loading, infinite scrolling,

    JavaScriptjavascriptutilityviewport
    在 GitHub 上查看↗4,611
  • rombohq/tailwindcss-motionromboHQ 的头像

    romboHQ/tailwindcss-motion

    3,295在 GitHub 上查看↗

    This project is a Tailwind CSS animation library and accessibility-aware motion framework. It provides a collection of utility classes for adding high-performance keyframe animations and motion effects to web projects, while automatically respecting user-defined reduced motion preferences. The system includes a browser-based animation designer for creating and exporting custom presets as CSS styles or utility classes. It also functions as a scroll-triggered animation framework, enabling entrance and exit transitions that execute as elements enter the viewport, including support for staggered

    TypeScriptanimateanimationcss
    在 GitHub 上查看↗3,295
  • civiccc/react-waypointciviccc 的头像

    civiccc/react-waypoint

    4,046在 GitHub 上查看↗

    react-waypoint is a React component and viewport tracking tool that executes functions based on the visibility of a DOM node within a scrollable area. It monitors when elements enter or leave the browser viewport or a specified scroll container to trigger callbacks. The project enables the implementation of infinite scrolling, asset lazy loading, and scroll-triggered animations. It allows for custom scroll container definitions and viewport boundary configurations using offsets to determine exactly when events fire. The tool provides element position tracking and visibility monitoring for bo

    JavaScript
    在 GitHub 上查看↗4,046
  • matthieua/wowmatthieua 的头像

    matthieua/WOW

    9,903在 GitHub 上查看↗

    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.

    JavaScript
    在 GitHub 上查看↗9,903
查看 Sal 的所有 30 个替代方案→

常见问题解答

mciastek/sal 是做什么的?

Sal is a lightweight vanilla JavaScript library designed to trigger CSS animations and execute custom logic as elements enter the browser viewport. It serves as a programmatic wrapper for the Intersection Observer API, providing a viewport trigger system to handle visibility thresholds and scroll-based animations.

mciastek/sal 的主要功能有哪些?

mciastek/sal 的主要功能包括:Scroll-Triggered Animations, Visibility Event Hooks, Viewport Transition Handlers, DOM Element Re-scanning, Element Visibility Detection, Class-Based Animation Triggers, Viewport Visibility Observers, Dynamic Element Observation。

mciastek/sal 有哪些开源替代品?

mciastek/sal 的开源替代品包括: camwiegert/in-view — in-view is a DOM visibility detector and intersection observer wrapper. It serves as a viewport transition handler… rombohq/tailwindcss-motion — This project is a Tailwind CSS animation library and accessibility-aware motion framework. It provides a collection of… civiccc/react-waypoint — react-waypoint is a React component and viewport tracking tool that executes functions based on the visibility of a… matthieua/wow — WOW is a JavaScript library and frontend animation controller that triggers CSS animations when elements enter the… michalsnik/aos — AOS is a scroll-triggered animation library that controls the execution, timing, and mapping of CSS transitions based… brigade/react-waypoint — react-waypoint is a set of React components and wrappers designed to execute callbacks when specific DOM elements…