35 dépôts
Configuration for how the window scrolls during transitions, including smooth scrolling and asynchronous resolution.
Distinct from Scroll Restoration: Focuses on the behavior and logic of the scroll transition, whereas Scroll Restoration focuses on returning to a specific offset.
Explore 35 awesome GitHub repositories matching user interface & experience · Scroll Behavior Control. Refine with filters or upvote what's useful.
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
Toggles nested scrolling and content translation to manage interactions between scrollable areas and refresh elements.
Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of single-page applications. It functions as a navigation engine that manages browser history and URL state to allow page transitions without full browser reloads. The system utilizes a nested route manager to render hierarchical views that match complex URL structures. It includes navigation guard middleware to intercept, validate, or redirect route transitions before components are rendered. A client-side history handler synchronizes application state with the browser URL using
Controls window scrolling behavior during navigation using smooth transitions or manual restoration.
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
Adjusts the duration and deceleration of scrolling movements to refine the feel of parallax effects.
This project is a cross-platform mobile carousel component for creating swipeable image and content sliders. It functions as a virtualized list component that maintains performance by removing off-screen elements and utilizes a native-driver animation library to map scroll offsets to style properties on the native thread for lag-free transitions. The library provides a parallax image gallery capable of shifting images relative to scroll progress to create a sense of depth. It also features a layout system that supports right-to-left orientations for languages such as Arabic and Hebrew. Capab
Configures scroll behavior, including momentum and snapping precision, for a refined touch experience.
onepage-scroll is a JavaScript library and scroll orchestrator that transforms websites into a series of sections navigated one page at a time. It functions as a single page navigation tool that implements viewport-based section snapping to lock the scroll position to full-screen segments. The library provides a responsive scrolling interface that automatically reverts to standard browser scrolling behavior when the window width drops below a defined threshold. It synchronizes the browser address bar with the current section index as the user navigates through the page. The system includes c
Provides a scrolling implementation that falls back to standard browser behavior on small viewports.
Solaar is a device management tool and configuration suite for Logitech wireless peripherals on Linux. It serves as an input peripheral monitor that tracks battery levels and connection link quality via a system tray application, while providing a receiver manager for pairing and unpairing wireless devices with proprietary USB receivers. The project features an input device automation engine that maps hardware events and mouse gestures to simulated keyboard inputs or system commands. This allows for the creation of custom rules that trigger actions based on device notifications or specific wi
Enables modification of scroll wheel resolution and direction to customize navigation.
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
Implements a custom scroll engine by intercepting native wheel events and updating element positions via CSS transforms.
MaterialViewPager is a library that creates a scrollable, swipeable interface with an animated header image, toolbar, and logo following Material Design guidelines. It provides a complete implementation of a Material Design ViewPager, where the header background color and image animate as the user swipes between pages. The library coordinates scroll-driven header animations by synchronising scroll offsets from the ViewPager and attached scrollable views through a central coordinator. It supports fragment-based page composition, allowing each page to have independent content layouts while shar
Configures the toolbar to hide, stick, or become transparent based on scroll position in a view pager.
react-joyride is a user onboarding library for React applications used to create interactive guided tours and walkthroughs. It provides a framework for defining sequences of tooltips and beacons that highlight specific user interface elements to introduce users to application features. The library distinguishes itself through a programmatic controller that allows developers to manage tour state, navigation, and lifecycle events via external application logic. It supports a high degree of visual extensibility, allowing the replacement of default tooltips and beacons with custom components to m
Adjusts animation duration and offset when moving the viewport to focus on a target element.
UltimateRecyclerView is an advanced list component for Android that provides built-in support for animations, sticky headers, and pull-to-refresh. It functions as a specialized set of UI elements designed to handle draggable, expandable, infinite-scrolling, and swipeable list interfaces. The project includes a draggable list manager for reordering items through drag-and-drop interactions and an expandable list component for toggling additional item details. It implements a swipe-to-dismiss interface for item removal and a list controller that enables infinite scroll pagination by triggering d
Synchronizes the visibility of external UI elements like toolbars with the user's scroll direction.
pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction and parallel browser automation. It controls Chromium-based browsers via direct WebSocket connections, allowing it to manage isolated browser contexts and tabs while bypassing the overhead and detection associated with WebDriver. The project features an anti-bot evasion framework that mimics natural human behavior, including mouse movements generated via Bezier curves and variable typing patterns. It provides specialized stealth capabilities to bypass behavioral analysis and au
Mimics natural browsing behavior by scrolling with physics-based momentum and jitter.
Allows replacing the default scroll mechanism with a custom function for smooth scrolling effects.
Custom scrollbars vanilla javascript library with native scroll, done simple, lightweight, easy to use and cross-browser.
Overrides the native scrollbar visibility while preserving the original scroll event handling and momentum physics.
LinearMouse is a macOS system utility that overrides default pointer acceleration and scrolling behaviors for mice and trackpads. It provides tools to remove cursor acceleration for linear movement and decouple scroll directions for individual devices. The project features an input device profiler that allows for unique cursor and scroll configurations based on the connected hardware. It also includes an input remapper to assign mouse buttons and scroll gestures to keyboard shortcuts and system media controls. The utility covers pointer precision adjustment, scroll behavior customization, an
Reverses scroll direction for individual devices and tunes sensitivity to match user preferences.
SDCycleScrollView est un composant UI de carrousel pour iOS qui fournit une vue de défilement en boucle pour afficher des images ou du texte dans une séquence continue horizontale ou verticale. Il fonctionne comme une vue de défilement infinie qui fait défiler automatiquement les éléments de contenu à des intervalles définis. Le composant inclut un indicateur de navigation par pagination pour afficher la position actuelle dans une boucle à l'aide de points ou d'images personnalisables. Il prend en charge un contenu de carrousel personnalisable via des mises en page de cellules personnalisées et des tableaux de titres associés. L'outil gère le comportement de défilement via des contrôles pour les directions de défilement et la possibilité de désactiver les gestes de glissement ou de sauter à des index de contenu spécifiques. Il synchronise l'état visuel des indicateurs de pagination avec le décalage de défilement de la zone de contenu.
Allows configuration of scrolling directions, drag gestures, and jumps to specific content indices.
AMScrollingNavbar est un composant d'interface utilisateur et un contrôleur Swift conçu pour synchroniser le mouvement d'une UINavigationBar avec la position de défilement d'un UIScrollView. Il agit comme un modificateur de comportement de barre de navigation qui permet à celle-ci de se masquer ou de se révéler dynamiquement en fonction des interactions de défilement de l'utilisateur. Le projet fournit un mécanisme pour coordonner le mouvement de plusieurs éléments d'interface, permettant à des vues supplémentaires telles que des barres d'outils ou des barres d'onglets de glisser en synchronisation avec la barre de navigation. Il utilise une translation basée sur le décalage et des vitesses de défilement personnalisables pour contrôler la rapidité avec laquelle les éléments quittent l'écran lors d'un défilement. Le système inclut des notifications d'état basées sur des délégués pour surveiller les changements de visibilité et une extension d'interface dédiée aux vues de défilement pour gérer ces transitions dynamiques d'en-tête.
Configures toolbars and navigation bars to hide or slide based on the scroll position of the content area.
DiscreteScrollView est une bibliothèque de composants d'interface utilisateur et d'animation pour React Native conçue pour créer des vues défilantes centrées et des listes à défilement infini. Elle fournit un mécanisme pour garder la sélection active centrée dans la fenêtre d'affichage tout en maintenant la visibilité des éléments adjacents. La bibliothèque permet l'implémentation de carrousels infinis en bouclant à travers des ensembles de données sans limites. Elle permet l'application de transformations visuelles aux éléments en fonction de leur position de défilement en temps réel par rapport au centre de la vue. L'ensemble d'outils inclut des fonctionnalités pour surveiller les états de sélection et configurer le comportement de défilement, comme restreindre les directions de défilement ou contrôler la façon dont les utilisateurs font glisser les éléments. Elle fournit également une logique pour déclencher des actions personnalisées lorsque la position de défilement ou l'élément centré est mis à jour.
Allows configuration of how users slide through items and restricts scrolling directions.
Swup est une bibliothèque de transition de page et un chargeur de page AJAX conçu pour créer des transitions animées fluides entre les pages sur des sites web rendus côté serveur. Il fonctionne comme un orchestrateur de contenu DOM et un gestionnaire d'historique de navigateur, interceptant la navigation pour remplacer dynamiquement le contenu de la page et simuler une expérience d'application monopage. Le projet se distingue par un système de cycle de vie basé sur des hooks et une architecture de plugins qui permet l'injection de logique personnalisée et d'effets d'animation. Il prend en charge des méthodes visuelles avancées, notamment le morphing de contenu DOM, le rendu DOM parallèle pour les animations superposées et l'intégration avec l'API native View Transitions du navigateur. La bibliothèque couvre un large éventail de capacités, notamment la gestion de la navigation côté client, la mise en cache des pages en mémoire et le préchargement des pages en arrière-plan pour optimiser les performances. Elle fournit également une restauration complète de la position de défilement, des optimisations d'accessibilité pour les lecteurs d'écran et des outils pour synchroniser les métadonnées d'en-tête de document et l'exécution de scripts à travers les transitions.
Implements advanced control over how the window scrolls during page transitions, including smooth animations.
OverlayScrollbars est un plugin JavaScript de barre de défilement et un gestionnaire de défilement d'éléments DOM qui remplace les barres de défilement natives du navigateur par des versions overlay personnalisables. Il fonctionne comme un composant UI pour styliser les pistes et les poignées de barre de défilement tout en préservant le comportement de défilement d'origine et l'accessibilité. Le projet assure la cohérence de l'interface utilisateur entre les navigateurs en remplaçant les implémentations natives par des barres de défilement web personnalisées. Il utilise un système de propriétés personnalisées CSS et de thèmes prédéfinis pour permettre à l'apparence visuelle des barres de défilement de correspondre à des designs de sites web spécifiques. La bibliothèque inclut une interface programmatique pour contrôler les mises en page des barres de défilement et les modes de performance élément par élément. Elle dispose d'une architecture de plugins pour ajouter des comportements personnalisés ou des polyfills de compatibilité et fournit des outils pour le recalcul manuel de la mise en page lorsque les tailles d'éléments ou le contenu changent.
Wraps elements in containers to hide native browser scrollbars while preserving original overflow behavior.
GravitySnapHelper est un contrôleur de défilement de liste Android et un snap helper RecyclerView conçu pour gérer la vitesse de défilement et aligner les éléments de liste sur des bords de conteneur spécifiques. Il fonctionne comme un mécanisme de positionnement pour garantir que les éléments s'alignent sur les limites de la fenêtre d'affichage lorsque l'interaction de l'utilisateur s'arrête. Le projet fournit un support spécifique pour les directions de mise en page de droite à gauche, garantissant que les éléments de liste s'alignent correctement sur les bords de l'écran, quelle que soit la direction de la langue de l'appareil. L'outil inclut des capacités pour réguler le mouvement de défilement, telles que la restriction des distances de lancer en utilisant des décalages de pixels ou des pourcentages de conteneur. Il surveille également la vitesse et la vélocité de défilement pour déterminer quand les éléments doivent déclencher une transition vers la cible d'alignement suivante.
Restricts how far a list flings by setting a maximum pixel distance or a percentage of the container size.