awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

19 dépôts

Awesome GitHub RepositoriesScroll Locking

Utilities for disabling document scrolling during modal or overlay display.

Distinct from Scroll Restoration: Distinct from Scroll Restoration: focuses on active scroll locking for UI overlays rather than navigation-based scroll position recovery.

Explore 19 awesome GitHub repositories matching user interface & experience · Scroll Locking. Refine with filters or upvote what's useful.

Awesome Scroll Locking GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • streamich/react-useAvatar de streamich

    streamich/react-use

    43,974Voir sur GitHub↗

    react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen

    Deno-inspired prevention of the body element from scrolling when modals or overlays are active.

    TypeScript
    Voir sur GitHub↗43,974
  • alvarotrigo/fullpage.jsAvatar de alvarotrigo

    alvarotrigo/fullPage.js

    35,437Voir sur GitHub↗

    fullPage.js is a JavaScript full-screen scrolling library and layout engine used to create websites composed of vertical sections and horizontal slides that snap to the viewport. It provides a system for organizing web content into full-screen pages with automatic snapping behavior. The library distinguishes itself through a WebGL transition framework and visual storytelling tools, enabling cinematic effects such as 3D rotations, parallax backgrounds, fading, and water distortion during navigation. It also features a responsive adaptation system that can switch from automatic snapping to stan

    Modifies scrolling configurations in real time to switch between automatic snapping and manual scrolling.

    JavaScriptfullpagefullscreenjavascript
    Voir sur GitHub↗35,437
  • uidotdev/usehooksAvatar de uidotdev

    uidotdev/usehooks

    11,394Voir sur GitHub↗

    This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti

    Locks document scroll position during active modal or overlay displays to prevent background movement.

    MDXastrobloghooks
    Voir sur GitHub↗11,394
  • noah-nuebling/mac-mouse-fixAvatar de noah-nuebling

    noah-nuebling/mac-mouse-fix

    9,220Voir sur GitHub↗

    This project is a macOS input remapper and mouse customizer designed to assign custom actions and system-wide gestures to mouse button presses and movements. It functions as a mouse gesture manager and scroll enhancer, enabling the emulation of multi-finger trackpad motions and providing omnidirectional precision scrolling. The utility distinguishes itself by allowing independent scroll direction settings for a mouse without altering global trackpad configurations. It further implements a momentum-based algorithm to replace discrete scroll steps with smooth, fluid movement. The software cove

    Enables toggling precision scrolling or zooming by holding specific keyboard modifier keys.

    Objective-C3rd-party-mouseinvert-scrollingmac-mouse
    Voir sur GitHub↗9,220
  • northwoodssoftware/gojsAvatar de NorthwoodsSoftware

    NorthwoodsSoftware/GoJS

    8,447Voir sur GitHub↗

    GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a

    Locks the diagram to prevent scrolling, zooming, or dragging parts outside a fixed area.

    HTMLcanvaschartcharts
    Voir sur GitHub↗8,447
  • juliencrn/usehooks-tsAvatar de juliencrn

    juliencrn/usehooks-ts

    7,834Voir sur GitHub↗

    usehooks-ts is a comprehensive collection of reusable TypeScript-based hooks designed for managing state, DOM events, and browser API interactions within React applications. It provides a typed library of functions to handle common frontend patterns and side effects. The project distinguishes itself by offering specialized hooks for browser integration, including tools for interacting with the system clipboard, managing local and session storage persistence, and loading external scripts. It also includes utilities for responsive UI development, such as tracking media queries, window dimension

    Implements a utility to disable page scrolling when modal overlays or full-screen menus are active.

    TypeScripthookhooksmdx
    Voir sur GitHub↗7,834
  • moroshko/react-autosuggestAvatar de moroshko

    moroshko/react-autosuggest

    5,940Voir sur GitHub↗

    React Autosuggest is a fully controlled React component that provides an autocomplete input with a dropdown of suggestions as the user types. It delegates all state management to the parent component through callbacks, making it compatible with state management patterns like Flux or Redux. The component implements WAI-ARIA accessibility patterns, including keyboard navigation with arrow keys, Enter, and Escape, along with live region integration for screen reader announcements. The component offers extensive customization through render-prop functions, allowing developers to replace the defau

    Isolates scroll within the suggestions container to prevent page scrolling at boundaries.

    JavaScript
    Voir sur GitHub↗5,940
  • aprilnea/openlogiAvatar de AprilNEA

    AprilNEA/OpenLogi

    5,314Voir sur GitHub↗

    OpenLogi est un outil de configuration matérielle « local-first » et un mappeur d'entrées multi-applications écrit en Rust. Il permet de personnaliser les périphériques utilisant le protocole HID++, offrant aux utilisateurs la gestion des paramètres de leurs appareils sans dépendre de comptes cloud ou de télémétrie. Le système se distingue par son approche « local-first », stockant toutes les configurations d'appareils et les mappages de boutons dans des fichiers texte brut. Cette conception facilite l'édition manuelle et le contrôle de version, tout en garantissant que les commandes sont envoyées directement dans la mémoire du matériel. La suite couvre plusieurs domaines de gestion matérielle, notamment le remappage des boutons physiques et la configuration des préréglages de sensibilité DPI. Elle inclut un système pour créer des profils spécifiques aux applications qui basculent automatiquement les raccourcis selon la fenêtre active, ainsi que des contrôles pour le comportement de la molette et la surveillance de l'état de la batterie. Une interface en ligne de commande est fournie pour gérer l'inventaire matériel et récupérer les données de diagnostic des appareils connectés.

    Toggles between different scrolling behaviors, such as ratchet and free-flow modes, in real time.

    Rust
    Voir sur GitHub↗5,314
  • huangyanbin/smarttableAvatar de huangyanbin

    huangyanbin/smartTable

    5,226Voir sur GitHub↗

    smartTable est un composant de grille de données et un framework de vue de table pour Android. Il fonctionne comme une bibliothèque d'interface utilisateur pilotée par annotations qui utilise des marqueurs de classe et de champ pour mapper automatiquement les modèles de données vers des colonnes visuelles et définir les propriétés de table. Le projet se distingue par une intégration profonde avec les feuilles de calcul, fournissant des outils pour importer et exporter des données vers et depuis des fichiers Excel tout en préservant le formatage des cellules, les styles, les couleurs et l'alignement. Il dispose également d'un système de rendu basé sur le canvas qui prend en charge des mises en page de grille complexes avec des cellules fusionnées, des en-têtes figés et le verrouillage de colonnes. La bibliothèque couvre un large éventail de capacités de gestion de données, incluant le tri, l'agrégation et le calcul de statistiques de colonne. Elle gère de grands jeux de données via la pagination virtuelle, les contrôles de zoom et le formatage conditionnel des cellules pour maintenir la lisibilité et la performance. Le framework est implémenté en Java pour les applications Android.

    Enables freezing of row or column indices to maintain header visibility during bidirectional scrolling.

    Javaandroidandroid-libraryandroid-table
    Voir sur GitHub↗5,226
  • chalarangelo/30-seconds-of-reactAvatar de Chalarangelo

    Chalarangelo/30-seconds-of-react

    5,081Voir sur GitHub↗

    Ce projet est une collection complète d'extraits de code réutilisables, de hooks personnalisés et de patterns d'implémentation pour construire des interfaces utilisateur avec React. Il sert de bibliothèque d'exemples courts conçus pour résoudre des tâches de développement courantes, allant de la gestion d'état à l'intégration DOM. La collection fournit un large éventail d'utilitaires spécialisés pour interagir avec les API du navigateur, incluant le suivi des dimensions de la fenêtre, l'évaluation des media queries et le monitoring du statut en ligne. Elle inclut également des guides pratiques et des extraits pour l'optimisation des performances, tels que la mémoïsation, le lazy loading et le debouncing de changement d'état. Les domaines de capacité étendus couvrent l'implémentation de composants UI interactifs comme les modales, les carrousels et les interfaces à onglets, ainsi que des patterns architecturaux pour la récupération de données, la persistance d'état et la vérification de mise à jour asynchrone. La bibliothèque inclut également des utilitaires pour la gestion de formulaires, la gestion d'événements et la synchronisation de routage via le suivi d'état d'URL.

    Prevents page body scrolling when modals or overlays are active.

    JavaScripteducationjavascriptlearn-to-code
    Voir sur GitHub↗5,081
  • jschr/bootstrap-modalAvatar de jschr

    jschr/bootstrap-modal

    4,964Voir sur GitHub↗

    bootstrap-modal est une bibliothèque JavaScript qui étend le composant modal Bootstrap standard pour fournir des capacités avancées de redimensionnement, d'empilement et d'animation. Il fonctionne comme un chargeur modal AJAX, récupérant du contenu distant et mettant à jour les vues de manière asynchrone sans nécessiter de rafraîchissement de la page du navigateur. Le projet fournit un gestionnaire de superposition empilable pour organiser de multiples fenêtres qui se chevauchent avec une gestion d'événements synchronisée et un ordre de couche correct. Il inclut également un composant d'interface utilisateur responsive qui ajuste automatiquement les dimensions et les contraintes en fonction de la taille actuelle de la fenêtre. La bibliothèque couvre des domaines fonctionnels plus larges incluant les workflows modaux imbriqués, le verrouillage du défilement en arrière-plan et les animations de transition modale. Elle incorpore en outre des mécanismes de feedback visuel tels que des indicateurs d'état de chargement et des animations d'interaction pour signaler les processus d'arrière-plan actifs.

    Disables document scrolling to prevent background page movement while a modal overlay is active.

    JavaScript
    Voir sur GitHub↗4,964
  • mescroll/mescrollAvatar de mescroll

    mescroll/mescroll

    4,459Voir sur GitHub↗

    mescroll est une bibliothèque JavaScript de défilement infini et un gestionnaire de défilement web mobile conçu pour implémenter les modèles de pull-to-refresh et de chargement par le bas. Il fournit un système pour gérer le défilement tactile, gérer les états de pagination et intégrer ces comportements au sein d'applications Vue. La bibliothèque se distingue par un support spécialisé pour les interfaces de chat, permettant le chargement de données en ordre inverse et la capacité d'injecter des données dans une direction inverse pour simuler des historiques de messages. Elle inclut également un cache de défilement persistant pour préserver les décalages verticaux et les données de liste lorsque les utilisateurs naviguent entre différentes vues. Le projet couvre un large éventail de capacités d'interaction et de performance, incluant la suppression de l'effet de rebond natif du navigateur, le chargement différé d'images conscient de la fenêtre d'affichage (viewport) et le positionnement de défilement par programmation. Il fournit en outre des utilitaires pour gérer les états de pagination, personnaliser l'interface utilisateur de chargement et d'état vide, et implémenter la navigation de retour en haut de page.

    Allows developers to temporarily disable pull-to-refresh or pull-up-loading actions to prevent accidental triggers.

    Vuebouncecss3html5
    Voir sur GitHub↗4,459
  • oliviertassinari/react-swipeable-viewsAvatar de oliviertassinari

    oliviertassinari/react-swipeable-views

    4,473Voir sur GitHub↗

    Ce projet est une bibliothèque React pour créer des vues coulissantes tactiles et des commutateurs de vue interactifs. Elle fournit des composants pour construire des carrousels de contenu et des curseurs qui prennent en charge la navigation horizontale ou verticale via le toucher, les gestes de balayage de la souris et les entrées clavier. La bibliothèque inclut un composant de curseur virtualisé qui ne rend que les vues visibles pour maintenir la performance avec de grands ensembles de contenu. Elle prend en charge des comportements visuels spécialisés tels que les transitions coverflow en trois dimensions, la navigation circulaire pour une boucle infinie et les effets de résistance aux bords lors de l'atteinte des limites d'une séquence. Des capacités supplémentaires couvrent la rotation automatique du contenu sur des minuteries définies, des animations de hauteur de conteneur dynamiques pour correspondre aux dimensions des diapositives actives et la possibilité d'imbriquer des conteneurs balayables pour une navigation hiérarchique. Elle prend également en charge le défilement vertical hybride pour permettre le défilement de page interne au sein d'une interface balayable.

    Enables internal vertical page scrolling within a container that is also navigable via horizontal swipe gestures.

    JavaScript
    Voir sur GitHub↗4,473
  • foobnix/librerareaderAvatar de foobnix

    foobnix/LibreraReader

    4,246Voir sur GitHub↗

    LibreraReader is a multi-format e-book reader and digital library manager designed for mobile and desktop devices. It functions as a customizable document renderer and a text-to-speech document player that converts written text into spoken audio via a configurable speech engine and integrated media player. The project distinguishes itself through a high degree of visual and functional customization, including the ability to inject custom CSS for styling overrides and the use of pluggable rendering engines to balance speed and stability. It includes specialized navigation tools such as a verti

    Restricts document navigation to vertical scrolling only, preventing accidental horizontal movement.

    C
    Voir sur GitHub↗4,246
  • mikke89/rmluiAvatar de mikke89

    mikke89/RmlUi

    4,178Voir sur GitHub↗

    RmlUi est un moteur de rendu d'interface utilisateur multiplateforme et une bibliothèque middleware qui permet la création d'interfaces utilisateur en utilisant un sous-ensemble de HTML et CSS. Il fonctionne comme une couche agnostique de rendu conçue pour intégrer la mise en page et le stylage standard du web dans des moteurs de jeu personnalisés et des applications embarquées. Le framework se distingue par son intégration de Lua pour la logique dynamique et le contrôle, ainsi qu'un kit d'outils spécialisé pour le rendu d'images SVG et d'animations Lottie. Il utilise un backend de rendu enfichable qui découple la génération de géométrie de l'affichage final, lui permettant de générer de la géométrie texturée pour divers pipelines graphiques. Le système couvre un large éventail de capacités, incluant un moteur de mise en page en boîte (box-model), un moteur de style en cascade et une liaison de données pour synchroniser les modèles avec les vues. Il fournit une gestion complète des entrées pour la souris, le clavier et le tactile, ainsi que des services d'internationalisation pour la traduction de texte basée sur la locale. Les fonctionnalités supplémentaires incluent la mise à l'échelle haute résolution (DPI), la composition alpha basée sur les couches et un ensemble de composants interactifs comme des curseurs de plage et des menus déroulants. La source peut être compilée en binaires WebAssembly pour une exécution dans les navigateurs web.

    Prevents scroll events from propagating beyond a container when its scroll boundary is reached.

    C++
    Voir sur GitHub↗4,178
  • willmcpo/body-scroll-lockAvatar de willmcpo

    willmcpo/body-scroll-lock

    4,099Voir sur GitHub↗

    body-scroll-lock est une bibliothèque de verrouillage du défilement DOM et un contrôleur de défilement multi-navigateur. Elle fournit des utilitaires pour désactiver le défilement de la page tout en maintenant la possibilité de défilement pour des éléments imbriqués spécifiques sur différents navigateurs et appareils. Le projet fonctionne comme un utilitaire de prévention des décalages de mise en page (layout shift) et un gestionnaire de défilement pour modales d'interface web. Il inclut des mécanismes pour ajouter du padding au corps de page (body) lorsque les barres de défilement sont supprimées, afin d'éviter les scintillements horizontaux et les décalages de contenu. La bibliothèque couvre la gestion du défilement pour la navigation mobile et les interactions modales, permettant à des conteneurs spécifiques de rester défilables tandis que le reste du corps du document est figé.

    Provides utilities for disabling document scrolling specifically during modal or overlay display.

    JavaScriptangularbody-scrollbody-scroll-lock
    Voir sur GitHub↗4,099
  • manna-harbour/miryokuAvatar de manna-harbour

    manna-harbour/miryoku

    3,740Voir sur GitHub↗

    Miryoku is a universal mapping specification for ergonomic and orthogonal keyboards. It provides a standardized set of key assignments and layers designed to decouple logical input intent from specific physical hardware, ensuring consistent key placement across different firmware and devices. The system focuses on home-row navigation, placing cursor movement, mouse emulation, and system functions on the home row to minimize hand travel. It utilizes a layer-based input strategy with toggleable and modal layers to manage numerals, symbols, and media controls without relying on complex modifier

    Uses toggleable and modal layers to manage numerals, symbols, and numbers without complex modifier chords.

    Makefilemiryoku
    Voir sur GitHub↗3,740
  • embedpdf/embed-pdf-viewerAvatar de embedpdf

    embedpdf/embed-pdf-viewer

    3,343Voir sur GitHub↗

    Embed PDF Viewer is a browser-based PDF rendering library that uses a WebAssembly port of the PDFium engine to display documents entirely on the client side, with no server-side processing required. It provides a framework-agnostic core engine layer that manages the PDF document lifecycle, memory allocation, and WebAssembly resource cleanup, with dedicated integration hooks for React and Vue 3 that handle initialization, document loading, and reactive state management. The library offers both a pre-built, embeddable viewer that can be inserted into any web page with a single initialization ca

    Configures scroll behavior and page display modes like single page or continuous scroll.

    TypeScriptadobe-acrobatjavascriptpdf
    Voir sur GitHub↗3,343
  • mewx/light-novel-library_wenku8_androidAvatar de MewX

    MewX/light-novel-library_Wenku8_Android

    2,464Voir sur GitHub↗

    Offers both horizontal page-turn and vertical scroll reading modes, each saving progress automatically.

    Java2014-nowandroidandroid-studio
    Voir sur GitHub↗2,464
  1. Home
  2. User Interface & Experience
  3. Scroll Interaction Handlers
  4. Scroll State Controllers
  5. Scroll Restoration
  6. Scroll Locking

Explorer les sous-tags

  • Container Scroll IsolationsPreventing scroll events from propagating beyond a container when its scroll boundary is reached. **Distinct from Scroll Locking:** Distinct from Scroll Locking: isolates scroll within a specific container rather than disabling document scroll for overlays.
  • DirectionalRestricts document navigation to a single scroll axis by intercepting and discarding events from other axes. **Distinct from Scroll Locking:** Distinct from Scroll Locking: focuses on restricting to a specific scroll direction rather than disabling scroll during overlays.
  • Directional Scroll LocksRestricts document navigation to vertical scrolling only, preventing accidental horizontal movement. **Distinct from Scroll Locking:** Distinct from Scroll Locking: focuses on locking scroll direction, not disabling scroll for overlays.
  • Frozen Grid ElementsLocks specific rows or columns in a grid to keep headers visible during scrolling. **Distinct from Scroll Locking:** Distinct from Scroll Locking: specifically refers to freezing grid headers/columns rather than disabling the entire page scroll.
  • Interaction Action LocksCapabilities to temporarily disable specific touch-triggered actions like pull-to-refresh or pull-up-loading. **Distinct from Scroll Locking:** Targets the locking of specific refresh/load gestures rather than locking the entire document scroll for overlays.
  • Scroll Mode Toggles2 sous-tagsUtilities for switching between different scrolling behaviors, such as snapping versus free-flow, in real time. **Distinct from Scroll Locking:** Distinct from Scroll Locking: focuses on toggling between different scrolling paradigms rather than just disabling scroll.