25 Repos
Detecting scroll events within specific elements instead of the global document for targeted infinite scrolling.
Distinct from Scroll Containers: Distinct from Scroll Containers by focusing on the detection of triggers for data fetching rather than the container's styling.
Explore 25 awesome GitHub repositories matching user interface & experience · Custom Scroll Triggers. Refine with filters or upvote what's useful.
Dieses Projekt ist eine Vanilla-JavaScript-Bibliothek und ein Web-Performance-Optimierer, der darauf ausgelegt ist, das Laden von Bildern, Videos und Iframes zu verzögern, bis sie in den Browser-Viewport gelangen. Es fungiert als Intersection-Observer-Wrapper und adaptiver Media-Loader, um die anfänglichen Seitenladezeiten zu reduzieren und Bandbreite zu sparen. Die Bibliothek zeichnet sich dadurch aus, dass sie responsive Bilder über srcset- und picture-Tags sowie CSS-Hintergrundbilder und animierte SVGs unterstützt. Sie integriert sich in native Browser-Ladeattribute, wo verfügbar, und bietet gleichzeitig benutzerdefinierte Fallbacks für nicht unterstützte Umgebungen. Sie kann zudem die Ausführung spezifischer JavaScript-Funktionen basierend auf der Sichtbarkeit von Elementen auslösen. Zu den breiten Funktionen gehört das Frontend-Asset-Management mit Unterstützung für das Targeting benutzerdefinierter Scroll-Container und die Beobachtung dynamischer Inhalte für asynchron injizierte Elemente. Das Dienstprogramm verwaltet zudem die Netzwerkzuverlässigkeit durch Fehlerbehandlung beim Laden von Assets und bricht aktive Downloads für Elemente ab, die den Viewport vor Abschluss verlassen.
Detects visibility triggers within specific scrolling containers instead of only the global browser window.
Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a state synchronization protocol and client-side routing bridge, allowing developers to build interactive experiences using modern JavaScript component libraries while keeping routing and controllers on the server. This approach eliminates the need for a separate REST or GraphQL API layer by passing data from server controllers to frontend components as props via JSON payloads. The framework distinguishes itself by utilizing adapter-based integration to link various backend environ
Detects scroll triggers within a specific element instead of the main document to enable nested infinite scrolling.
Infinite Scroll is a JavaScript library that automatically loads and appends the next page of content when a user scrolls near the bottom of a container, or optionally when they click a button. It provides scroll-based pagination that fetches and inserts subsequent pages of content, with URL-driven content loading that determines next page URLs from selectors, templates, or custom functions. The library integrates with browser history, updating the URL and history state as new pages load while preserving scroll position so each page state is bookmarkable and refreshable. It is compatible with
Automatically fetches and appends the next page of content when the user scrolls near the bottom of a container.
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
Provides callback hooks that fire at the start and end of scroll animations for custom integration.
React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids, tables, and chat interfaces. It automatically measures variable-height items at runtime, computes accurate scroll offsets without requiring fixed sizes, and renders only the items within the visible viewport plus a configurable buffer zone. The library manages scroll position through a state machine that tracks direction, position, and anchor items to handle auto-scroll, sticky headers, and bidirectional loading. The library distinguishes itself with specialized components fo
Triggers loading of additional content when the user scrolls to the end of the list.
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
Fires enter and exit callbacks when step elements cross configurable viewport thresholds.
Dieses Projekt ist eine React-Lazy-Loading-Komponente, die zur Verbesserung der Frontend-Performance entwickelt wurde, indem das Rendern von Child-Elementen verzögert wird, bis diese in den Browser-Viewport gelangen. Sie fungiert als Ressourcen-Lifecycle-Manager und Visibility-Trigger, der unnötiges Mounten von Off-Screen-Komponenten verhindert, um die initiale Ladezeit der Seite und den Speicherverbrauch zu reduzieren. Die Bibliothek bietet Konfigurationsmöglichkeiten für Visibility-Trigger, die den Einsatz benutzerdefinierter Offsets und spezifischer Scroll-Container erlauben, um zu bestimmen, wann eine Komponente geladen wird. Sie enthält Mechanismen zur Verwaltung von Komponenten-Lifecycles, die es ermöglichen zu wählen, ob eine Komponente nach dem Erscheinen geladen bleibt oder beim Verlassen des Viewports wieder unmounted wird. Zusätzliche Funktionen decken das verzögerte Rendern durch Platzhalter sowie die Optimierung des Event-Handlings für Scroll- und Resize-Listener ab. Das System unterstützt zudem manuelle Sichtbarkeitsvalidierungen, um Viewport-Checks zu erzwingen oder sicherzustellen, dass eine Komponente angezeigt wird.
Allows developers to configure load triggers using custom offsets, specific scroll containers, and resize event responses.
Diese JavaScript-Bibliothek für Smooth Scrolling ist ein Frontend-Utility und Viewport-Motion-Controller, der dazu entwickelt wurde, Übergänge zu Anker-Links zu animieren. Sie fängt Standard-Link-Klicks ab, um sofortige Sprünge durch flüssige Bewegungen zu den Zielelementen zu ersetzen. Die Bibliothek bietet konfigurierbare Motion-Easing-Muster und Geschwindigkeitssteuerungen zur Verwaltung von Beschleunigung und Verzögerung. Sie enthält einen Mechanismus zum sofortigen Abbrechen aktiver Animationen und unterstützt das programmatische Auslösen von Scroll-Vorgängen über direkte Funktionsaufrufe. Das Tool handhabt Positionierungs-Offsets, um zu verhindern, dass Zielinhalte hinter fixierten Headern verborgen bleiben, und synchronisiert die Browser-Adressleiste während der Übergänge. Zudem verfügt es über ein ereignisgesteuertes Callback-System, das Seiteneffekte auslöst, wenn Scroll-Animationen starten, enden oder unterbrochen werden.
Provides user-defined callbacks that execute at the start and end of smooth scrolling animations.
XRecyclerView ist eine Android-Listenkomponente und Erweiterungsbibliothek, die Standard-RecyclerViews um Pull-to-Refresh- und Infinite-Scrolling-Verhalten ergänzt. Sie dient als scrollbares mobiles UI-Element, das darauf ausgelegt ist, datengesteuerte Listen mit Unterstützung für dynamische Header und Footer zu verwalten. Die Bibliothek bietet ein gestenbasiertes Interface zum Auslösen des Neuladens von Inhalten über ein Pull-to-Refresh-Widget und implementiert einen Mechanismus zum Auslösen von Datenabruf-Callbacks, wenn ein Benutzer das Ende einer Liste erreicht, um Infinite Scrolling zu ermöglichen. Sie unterstützt zudem die Verwaltung dynamischer Listen-Header und die Implementierung von Load-More-Workflows, um neue Inhalte anzuhängen, während ein Benutzer scrollt.
Automatically fetches and appends the next page of content when the user scrolls near the bottom.
SVPullToRefresh is a library for adding pull-to-refresh and infinite scrolling behaviors to UIKit scroll views on the iOS platform. It provides specialized user interface components that enable manual content refreshing and pagination within scrollable views. The library implements mechanisms to trigger data loading actions when a user pulls a scroll view from the top or reaches the bottom of a scrollable area. These triggers allow for syncing the latest information or appending more content to create continuous feeds.
Provides a mechanism to automatically fetch the next page of content when scrolling to the bottom.
in-view ist ein DOM-Sichtbarkeitsdetektor und ein Wrapper für Intersection-Observer. Er dient als Viewport-Übergangs-Handler, der Callbacks und Events auslöst, wenn bestimmte Bildschirmelemente in das Browserfenster eintreten oder es verlassen. Die Bibliothek bietet ein System zur Konfiguration von Sichtbarkeitskriterien mittels Pixel-Offsets, Prozentwerten oder benutzerdefinierten Testfunktionen. Sie enthält Utilities zur Beobachtung von Sichtbarkeitsänderungen, zur Durchführung manueller Sichtbarkeitsbewertungen und zur Überprüfung des aktuellen Status eines Elements innerhalb des sichtbaren Bereichs. Diese Funktionen unterstützen Anwendungsmuster wie Lazy-Loading, unendliches Scrollen, scrollbasierte Animationen und Analysen zum Nutzerengagement.
Provides a configuration system to define visibility thresholds using pixels, percentages, or custom functions.
Stellar.js ist eine JavaScript-Parallax-Bibliothek und ein scrollbasiertes Bewegungsframework, das zur Koordination der DOM-Elementpositionierung und CSS-Transformationen verwendet wird. Es fungiert als Positionierungstool, das Echtzeit-Koordinatenverschiebungen für Hintergrundbilder und Vordergrundelemente basierend auf Scroll-Triggern berechnet. Die Bibliothek nutzt eine CSS-Transformations-Animations-Engine, um sicherzustellen, dass Bewegungen auf mobilen und Desktop-Browsern hardwarebeschleunigt sind. Sie erzeugt Tiefeneffekte, indem sie unterschiedliche Bewegungsgeschwindigkeiten auf Elemente relativ zur natürlichen Scroll-Rate anwendet. Das Framework deckt eine Reihe von Bewegungsfunktionen ab, einschließlich Geschwindigkeitsverhältnis-Berechnungen für Hintergrund- und Element-Parallax sowie offsetbasierter Ausrichtung. Es erlaubt die Definition von Vorfahrenelementen als Referenzpunkte, um zu bestimmen, wann Elemente zu ihren ursprünglichen Positionen zurückkehren sollen.
Includes specialized adapters to read scroll positions from non-standard sources in touch-scrolling environments.
fluttereasyrefresh ist eine Bibliothek zur Implementierung von Pull-to-Refresh- und Infinite-Scroll-Pagination in Flutter-Listenkomponenten. Sie stellt die funktionalen Komponenten und die Logik bereit, um Daten-Reloads per Pull-Down-Geste auszulösen und zusätzliche Datenblöcke durch Pull-Up-Trigger zu laden. Das Projekt zeichnet sich durch eine entkoppelte Indikator-Architektur aus, die anpassbare visuelle Stile, thematisierte Animationen und eine flexible Positionierung von Headern und Footern ermöglicht. Es enthält einen zentralen Controller, der die programmgesteuerte Verwaltung von Refresh- und Ladezuständen unabhängig von Benutzergesten erlaubt. Die Bibliothek deckt das Scroll-Management durch anpassbare Physik und Trägheit ab sowie die synchronisierte paginierte Datenladung basierend auf Seitenindizes. Sie bietet zudem eine Integration für verschachtelte Scroll-Views, um Indikatorpositionen innerhalb einer View-Hierarchie zu koordinieren.
Uses custom scroll physics to detect overscroll offsets, triggering refresh headers or load footers based on drag distance.
react-waypoint ist eine React-Komponente und ein Viewport-Tracking-Tool, das Funktionen basierend auf der Sichtbarkeit eines DOM-Knotens innerhalb eines scrollbaren Bereichs ausführt. Es überwacht, wann Elemente den Browser-Viewport oder einen spezifizierten Scroll-Container betreten oder verlassen, um Callbacks auszulösen. Das Projekt ermöglicht die Implementierung von Infinite Scrolling, Lazy Loading von Assets und scroll-getriggerten Animationen. Es erlaubt benutzerdefinierte Definitionen von Scroll-Containern und Viewport-Grenzen unter Verwendung von Offsets, um exakt zu bestimmen, wann Ereignisse ausgelöst werden. Das Tool bietet Element-Positions-Tracking und Sichtbarkeitsüberwachung für vertikales und horizontales Scrollen. Es beinhaltet eine Steuerung der Trigger-Empfindlichkeit und Event-Throttling, um die Callback-Ausführung bei schnellem Scrollen zu verwalten.
Fires user-defined callbacks when elements cross configurable viewport thresholds during vertical or horizontal scrolling.
react-waypoint ist eine Reihe von React-Komponenten und Wrappern, die entwickelt wurden, um Callbacks auszuführen, wenn bestimmte DOM-Elemente in den sichtbaren Bildschirmbereich eintreten oder diesen verlassen. Es fungiert als Viewport-Visibility-Tracker, der überwacht, wann Elemente vordefinierte räumliche Grenzen überschreiten. Das Projekt bietet eine Scroll-Trigger-Komponente und einen Event-Wrapper, die benutzerdefinierte Offset-Konfigurationen ermöglichen, um feste UI-Elemente zu berücksichtigen. Diese Tools können so konfiguriert werden, dass sie einen bestimmten DOM-Knoten oder das globale Fenster als scrollbaren Vorfahren für Sichtbarkeitsberechnungen verwenden. Die Bibliothek deckt verschiedene Implementierungsmuster ab, darunter Infinite Scrolling, Lazy Loading von Inhalten und scroll-getriggerte Animationen. Sie verwaltet diese Aktionen durch Überwachung der Element-Sichtbarkeit und das Auslösen von Funktionen basierend auf der Schnittmenge der Bounding-Box eines Elements und dem aktuellen Viewport.
Configures top and bottom offsets to adjust the trigger points for element visibility.
ScrollTrigger ist eine JavaScript-Bibliothek und ein DOM-Scroll-Event-Manager, der dazu dient, Callbacks auszuführen und CSS-Klassen umzuschalten, wenn Elemente in den Browser-Viewport eintreten oder ihn verlassen. Es fungiert als High-Level-Schnittstelle für die Intersection Observer API und als System zum Initiieren visueller Übergänge und asynchroner Aufgaben basierend auf der Position eines Elements relativ zum Viewport. Das Tool ermöglicht die Definition präziser Triggerpunkte unter Verwendung von Pixel- oder Prozent-Offsets, um genau zu steuern, wann Ereignisse ausgelöst werden. Es verwaltet scrollgesteuerte visuelle Animationen und Lazy-Loading-Implementierungen durch die Verfolgung von Sichtbarkeitsschwellenwerten. Die Bibliothek bietet Funktionen zur Überwachung von Scroll-Aktivitäten, wie z. B. das Verfolgen, wann das Scrollen beginnt, stoppt oder die Richtung ändert. Sie unterstützt zudem das Auslösen von Viewport-Ereignissen, um benutzerdefinierte Funktionen oder Promises auszuführen, wenn Elemente bestimmte Koordinaten überschreiten.
Runs custom functions or promises when elements enter, leave, or remain visible within the browser viewport.
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
Defines the percentage of an element's area or root margin required to trigger animations.
BasicScroll is a standalone scroll-driven animation library that updates CSS custom properties, element styles, and CSS properties dynamically based on absolute or relative viewport scroll positions. It functions as an animation engine designed to build custom parallax scrolling experiences and fluid visual effects on both mobile and desktop viewports. The library supports custom scroll range definitions anchored directly to specific document elements, alongside callback executions that trigger user-defined functions with live progress data and state percentages as the viewport enters or leav
Defines custom scroll ranges anchored directly to specific document elements.
React custom scrollbars is a user interface component built for React applications that replaces native browser scrollbars with custom-styled tracks and thumbs. It maintains consistent visual appearance across different platforms and browsers while generating matching markup on both server and client environments to support server-side rendering without layout shift. The library provides comprehensive styling options by overriding default track, thumb, and view elements with custom components, CSS classes, or inline styles. It handles layout adjustments by resizing container dimensions dynami
The scroll component library triggers callback functions during scrolling actions so applications can respond smoothly to user movement.
This project is a frontend component designed to manage dynamic content loading and scroll-based interactions within web applications. It provides a reusable interface for handling data injection as users navigate through scrollable areas, ensuring that content updates occur automatically based on scroll position or manual user triggers. The component distinguishes itself by supporting both standard downward infinite scrolling and inverse scrolling, which allows for the natural expansion of content history in chat-like interfaces. It offers developers full control over the visual presentation
Monitors scroll position relative to container height to trigger automatic data fetching near the bottom.