14 repository-uri
Using the IntersectionObserver API to detect element visibility within the viewport.
Distinct from Viewport Event Listeners: Existing candidates focused on geolocation or system-level change detection rather than viewport visibility observers.
Explore 14 awesome GitHub repositories matching web development · Intersection Observer Implementations. Refine with filters or upvote what's useful.
AOS is a scroll-triggered animation library that controls the execution, timing, and mapping of CSS transitions based on element visibility and browser viewport intersections. It functions as a DOM element animation controller and a viewport intersection trigger to initiate visual transitions as elements enter the screen. The library utilizes a custom CSS transition bridge to map scroll-based triggers to CSS class changes, enabling integration with external styling frameworks. It supports anchor-based animation triggers, allowing the visibility of one page element to act as the trigger point
Uses the IntersectionObserver API to detect element visibility within the viewport to initiate CSS transitions.
ScrollReveal is a client-side JavaScript library used to trigger CSS animations and transitions for page elements as they enter the browser viewport. It functions as a DOM element animation trigger and a simplified wrapper for the Intersection Observer API to coordinate visual entrance effects and staggered animations based on the user's scroll position. The library focuses on scroll-driven motion and reveal effects, enabling the execution of visual changes and animations automatically as a user navigates a website. It manages the reveal of page content to create movement and progression with
Uses the native Intersection Observer API to detect when elements enter the viewport.
vue-lazyload is a Vue.js image lazy loading plugin and frontend asset optimizer. It serves as a viewport visibility observer that defers the loading of images and components until they enter the browser viewport to reduce initial page load times. The project functions as a progressive image loader by managing image placeholders and implementing dynamic source switching. It uses a browser API to monitor when elements enter the viewport, avoiding expensive scroll event listeners to maintain performance. The plugin provides capabilities for image loading state tracking, including custom placeho
Uses the IntersectionObserver API to monitor element visibility without expensive scroll event listeners.
Acest proiect este o bibliotecă vanilla JavaScript și un optimizator de performanță web conceput pentru a amâna încărcarea imaginilor, videoclipurilor și iframe-urilor până când acestea intră în viewport-ul browserului. Acționează ca un wrapper pentru intersection observer și un încărcător adaptiv de media pentru a reduce timpii de încărcare inițială a paginii și a economisi lățimea de bandă. Biblioteca se distinge prin suportul pentru imagini responsive prin srcset și tag-uri picture, precum și pentru imagini de fundal CSS și SVG-uri animate. Se integrează cu atributele native de încărcare ale browserului acolo unde sunt disponibile, oferind în același timp fallback-uri personalizate pentru mediile neacceptate. Poate, de asemenea, să declanșeze execuția unor funcții JavaScript specifice bazate pe vizibilitatea elementului. Capabilitățile largi includ gestionarea activelor frontend cu suport pentru targetarea containerelor de scroll personalizate și observarea conținutului dinamic pentru elementele injectate asincron. Utilitarul gestionează, de asemenea, fiabilitatea rețelei prin gestionarea erorilor de încărcare a activelor și anulează descărcările active pentru elementele care părăsesc viewport-ul înainte de finalizare.
Uses the browser's native IntersectionObserver API to trigger asset loading when elements enter the viewport.
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
Integrates the Intersection Observer API to detect element visibility within the viewport.
Acest proiect este o componentă React de lazy loading concepută pentru a îmbunătăți performanța frontend-ului prin amânarea randării elementelor copil până când acestea intră în viewport-ul browserului. Funcționează ca un manager de ciclu de viață al resurselor și declanșator de vizibilitate, prevenind montarea inutilă a componentelor din afara ecranului pentru a reduce timpii inițiali de încărcare a paginii și consumul de memorie. Biblioteca oferă configurare pentru declanșatoarele de vizibilitate, permițând utilizarea de offset-uri personalizate și containere de scroll specifice pentru a determina când se încarcă o componentă. Include mecanisme pentru gestionarea ciclurilor de viață ale componentelor, permițând alegerea dacă o componentă rămâne încărcată după apariție sau se demontează la părăsirea viewport-ului. Capabilitățile suplimentare acoperă randarea amânată prin utilizarea de placeholder-uri și optimizarea gestionării evenimentelor pentru ascultătorii de scroll și redimensionare. Sistemul suportă, de asemenea, validarea manuală a vizibilității pentru a forța verificările viewport-ului sau a impune afișarea unei componente.
Implements the native IntersectionObserver API to detect when elements enter the viewport without polling.
react-lazyload este o componentă React și un wrapper de vizibilitate în viewport conceput pentru a minimiza consumul de resurse prin amânarea afișării elementelor UI din afara ecranului. Funcționează ca un optimizator de performanță frontend care întârzie randarea imaginilor sau a componentelor până când acestea intră în viewport-ul browserului. Biblioteca previne deplasările de layout (layout shifts) permițând definirea dimensiunilor placeholder-ului, menținând stabilitatea paginii în timp ce conținutul se încarcă leneș (lazily). Gestionează tranziția de la aceste placeholder-uri la conținutul real folosind starea internă și animații opționale. Sistemul oferă mecanisme pentru detectarea vizibilității în viewport, override-uri manuale de afișare pentru a forța montarea imediată și declanșatoare manuale de vizibilitate pentru cazurile în care evenimentele standard de scroll sau redimensionare sunt insuficiente.
Uses the Intersection Observer API to detect when elements enter the viewport and trigger rendering.
react-intersection-observer este o implementare React a API-ului Intersection Observer concepută pentru a urmări când elementele DOM intră sau ies din viewport-ul browserului. Oferă un wrapper și un set de hook-uri pentru monitorizarea vizibilității elementelor și declanșarea callback-urilor atunci când conținutul devine vizibil pentru utilizator. Biblioteca include un mecanism pentru detectarea ocluziei DOM pentru a determina dacă un element este acoperit de alte componente sau ascuns de filtre CSS. De asemenea, dispune de un wrapper polyfill care oferă fallback-uri de vizibilitate pentru browserele care nu suportă nativ capabilitățile intersection observer. Proiectul acoperă diverse capabilități de urmărire a vizibilității, inclusiv actualizări sincronizate cu starea pentru re-randarea componentelor și monitorizarea fără randare pentru a executa callback-uri fără a actualiza starea. Aceste instrumente susțin implementarea scroll-ului infinit, lazy loading-ul asset-urilor și animațiile bazate pe scroll.
Provides a React implementation of the Intersection Observer API for viewport visibility tracking.
layzr.js este o bibliotecă JavaScript pentru lazy loading-ul imaginilor, concepută pentru a îmbunătăți viteza inițială de încărcare a paginii prin amânarea descărcării imaginilor până când acestea intră în viewport-ul browserului. Funcționează ca un selector de imagini responsive care identifică sursa de imagine cea mai potrivită pe baza suportului browserului și a densității de pixeli a dispozitivului. Biblioteca utilizează un sistem pentru livrarea imaginilor responsive care evaluează atributele de date pentru a selecta sursele optime. Include un mecanism pentru urmărirea conținutului dinamic, care monitorizează documentul pentru imagini nou adăugate pentru a se asigura că sunt incluse automat în coada de încărcare. Proiectul oferă urmărirea vizibilității prin API-ul Intersection Observer și include un utilitar pentru a forța reîmprospătarea manuală a viewport-ului. De asemenea, dispune de un event emitter care permite executarea de logică personalizată prin lifecycle hooks înainte și după actualizarea surselor de imagine.
Implements the IntersectionObserver API to detect element visibility within the viewport and trigger source updates.
Splide este o bibliotecă TypeScript agnostică față de framework, pentru crearea de caruseluri de conținut și galerii de imagini accesibile și touch-enabled. Oferă o implementare fără dependențe a sliderelor care suportă interacțiuni de tip drag, swipe și flick pe browsere mobile și desktop. Biblioteca se distinge printr-un strat complet de accesibilitate folosind roluri ARIA și suport pentru cititoare de ecran. Dispune de un sistem de breakpoint-uri responsive care adaptează dimensiunile și comportamentul slide-urilor în funcție de lățimea ecranului, alături de un sistem de plugin-uri pentru extinderea funcționalității de bază cu componente personalizate și efecte de tranziție. Proiectul acoperă o gamă largă de capabilități de layout și interacțiune, inclusiv aranjamente de tip grid, dimensiuni variabile ale slide-urilor și fluxuri de lucru sincronizate pentru slidere. Include optimizări de performanță precum încărcarea leneșă (lazy loading) a conținutului media și monitorizarea intersecției cu viewport-ul, precum și navigare multi-modală prin tastatură, rotița mouse-ului sau link-uri de tip thumbnail. Pachete wrapper dedicate sunt disponibile pentru integrarea în diverse arhitecturi de framework-uri frontend.
Utilizes the IntersectionObserver API to trigger autoplay and media loading only when the carousel is visible.
Precedent este un starter de aplicație Next.js și o bibliotecă de componente care oferă un set fundamental de instrumente preconfigurate și primitive pentru construirea de interfețe web gata de producție. Servește ca un toolkit pentru bootstrapping-ul aplicațiilor cu autentificare integrată, analiză și o colecție de componente UI opinate. Proiectul se remarcă printr-un kit UI Tailwind CSS care combină primitive de accesibilitate și biblioteci de mișcare pentru a crea interfețe finisate. Include un generator de imagini pe partea de server pentru crearea programatică a imaginilor dinamice de partajare socială și a vizualizărilor de previzualizare la marginea rețelei (edge). Biblioteca acoperă o gamă largă de capabilități, inclusiv integrarea identității terțe pentru autentificarea utilizatorilor și gestionarea sesiunilor, analize web axate pe confidențialitate pentru monitorizarea metricilor vizitatorilor și o colecție de hook-uri React personalizate pentru gestionarea stării pe partea de client, stocarea locală și vizibilitatea elementelor. De asemenea, oferă utilitare pentru formatarea textului și a numerelor.
Implements reusable utilities to track element visibility using intersection observers.
Autotrack este o bibliotecă JavaScript pentru Google Analytics care captează automat interacțiunile utilizatorilor și engagement-ul pe pagină. Oferă un sistem pentru implementarea declarativă a analiticii, permițând urmărirea evenimentelor web prin atribute HTML pentru a evita scrierea de JavaScript personalizat pentru fiecare interacțiune. Proiectul include un generator de bundle-uri de analitică pentru a crea fișiere JavaScript minimizate care conțin doar plugin-urile de urmărire specifice necesare pentru un proiect. De asemenea, funcționează ca un tracker pentru aplicații de tip single page, monitorizând modificările istoricului browserului pentru a înregistra vizualizări virtuale de pagină. Biblioteca acoperă o gamă largă de capabilități de măsurare a engagement-ului, inclusiv urmărirea adâncimii de scroll, vizibilitatea elementelor și stările media query. Oferă, de asemenea, instrumente pentru normalizarea datelor de web analytics, cum ar fi filtrarea parametrilor URL și standardizarea căilor pentru a preveni intrările duplicate.
Uses the Intersection Observer API to detect when specific elements enter the viewport for impression tracking.
react-waypoint este o componentă React și un instrument de urmărire a viewport-ului care execută funcții bazate pe vizibilitatea unui nod DOM într-o zonă scrollabilă. Acesta monitorizează când elementele intră sau părăsesc viewport-ul browserului sau un container de scroll specificat pentru a declanșa callback-uri. Proiectul permite implementarea scroll-ului infinit, încărcarea leneșă a activelor și animații declanșate la scroll. Permite definirea containerelor de scroll personalizate și configurarea limitelor viewport-ului folosind offset-uri pentru a determina exact când se declanșează evenimentele. Instrumentul oferă urmărirea poziției elementelor și monitorizarea vizibilității atât pentru scroll vertical, cât și orizontal. Include controlul sensibilității declanșatorului și limitarea ratei evenimentelor (throttling) pentru a gestiona execuția callback-urilor în timpul scroll-ului rapid.
Uses the IntersectionObserver API to asynchronously detect when elements enter or exit the viewport.
Fluid Player is a web-based media playback library designed to embed lightweight, responsive video players into websites. It supports standard video formats and adaptive streaming across modern browsers, providing a foundation for consistent media delivery and custom interface branding. The library distinguishes itself through integrated support for industry-standard advertising protocols, allowing for the injection and orchestration of linear and non-linear video advertisements. It includes built-in tracking for viewer engagement and performance metrics, ensuring that ad delivery is synchron
Uses the Intersection Observer API to monitor container visibility and trigger automatic transitions to a mini-player mode.