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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
metafizzy avatar

metafizzy/infinite-scroll

0
View on GitHub↗

Infinite Scroll

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 Masonry, Isotope, and Packery layout libraries, automatically appending loaded items into visual grid layouts. Infinite Scroll also supports analytics tracking, sending pageview events to Google Analytics each time new content is loaded.

Additional capabilities include loading JSON content from API endpoints, rendering embedded elements like CodePens and Tweets after new content is appended, and displaying status indicators for request, last page, and error states during page loading. The library offers instance management for accessing, reconfiguring, or destroying an Infinite Scroll instance from a DOM element after initialization.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
infinite-scroll.com
↗

Features

  • Infinite Scrolling - Implements the infinite scrolling UX pattern that automatically loads content as the user scrolls.
  • Loading and Status Indicators - Shows status elements for request, last page, and error states during page loading.
  • History State Updates - Updates the browser URL and history state as new pages load, preserving scroll position.
  • DOM Content Appenders - Inserts selected elements from the loaded page into the container, with an option to disable appending for custom behavior.
  • Scroll-Based Resource Loading - Automatically fetches and appends the next page of content when the user scrolls near the bottom of the container.
  • Sequential Page Navigators - Updates the next page URL from the loaded page's content, enabling a chain of linked pages to be loaded automatically.
  • Loading - Provides a button that loads the next page on click with loading and last-page states.
  • Page Loading Buttons - Provides a button that loads the next page of content on click with loading and last-page states.
  • Scroll-Based Pagination - Fetches and inserts subsequent pages of content triggered by scroll position or button click.
  • Infinite Scroll Triggers - Automatically fetches and appends the next page of content when the user scrolls near the bottom of a container.
  • URL Update Scroll Preservers - Updates the URL as the user scrolls so that refreshing or returning to a page restores the exact scroll position.
  • History State Updaters - Updates the browser URL and history entries using replaceState or pushState as new content is loaded.
  • Automated Content Loading - Automatically fetches and appends the next page of content when the user scrolls near the bottom of a container.
  • Embedded Browser URL Loads - Changes the browser's URL and history entry to reflect the current page as new content is loaded.
  • Next Page URL Pattern Resolvers - Determines the URL for the next page using a selector, template string with placeholders, or custom function.
  • URL Pattern-Based Loading - Determines next page URLs from selectors, templates, or custom functions to load sequential content.
  • Browser History API Updates - Changes the page URL and browser history using replaceState or pushState as content is loaded.
  • Pattern-Based URL Rewriting - Determines the next page URL using a selector, template string with placeholders, or custom function.
  • Page Index Tracking - Reports the number of the currently loaded page, automatically determined from the path or URL.
  • Next Page URL Resolvers - Returns the relative or absolute URL path for the next page to be loaded.
  • Prefill Loaders - Loads and appends pages on initialization until the scroll requirement is met.
  • Scroll Loading Toggles - Enables or disables loading the next page when the user scrolls past the threshold.
  • Button-Triggered Page Loads - Provides a button-triggered mode for loading subsequent pages of content.
  • Manual Page Loaders - Triggers loading and appending the next page of content, returning a promise after items are appended.
  • Masonry Layouts - Works with Masonry, Isotope, and Packery to append new items into a visual grid layout.
  • Layout Library Integrations - Integrates with Masonry, Isotope, and Packery to append new items into visual grid layouts.
  • Masonry Layout Integrations - Automatically appends new items into Masonry, Isotope, or Packery visual grid layouts after page loads.
  • Layout Integration Utilities - Adds appended items to Masonry, Isotope, or Packery layouts automatically.
  • Last Page Detectors - Checks if the last page has been reached to prevent further requests and trigger a last event.
  • Scroll Trigger Distance Configurators - Configures the distance from the viewport to the scroll area that triggers loading the next page.
  • Analytics Tracking - Ships built-in pageview tracking to Google Analytics on each content load.
  • Pageview Tracking - Sends pageview events to Google Analytics each time new content is loaded via infinite scroll.
  • JSON APIs - Fetches JSON data from an API endpoint and appends returned items as the user scrolls.
  • Element Scrolling Utilities - Sets a specific element as the scroll container instead of the window for overflow scrolling.
7,489 stars·1,697 forks·HTML·MIT·24 views

Star history

Star history chart for metafizzy/infinite-scrollStar history chart for metafizzy/infinite-scroll

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Infinite Scroll

These projects share indexed features with Infinite Scroll. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • petyosi/react-virtuosopetyosi avatar

    petyosi/react-virtuoso

    6,348View on GitHub↗

    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

    TypeScriptchatcomponent-libraryfeed
    View on GitHub↗6,348
  • webcreate/infinite-ajax-scrollwebcreate avatar

    webcreate/infinite-ajax-scroll

    899View on GitHub↗

    Infinite-ajax-scroll is a JavaScript library that automatically appends subsequent pages of content as users scroll down a webpage, turning standard pagination into infinite scrolling. It transforms traditional multi-page website pagination into continuous loading flows by fetching and inserting next-page items directly into active container elements. The library includes a pagination parser that extracts next-page anchor links and container structures directly from existing static markup without requiring backend changes. It monitors scroll positions relative to document boundaries to automa

    JavaScriptajaxinfiniteinfinite-scroll
    View on GitHub↗899
  • mescroll/mescrollmescroll avatar

    mescroll/mescroll

    4,459View on GitHub↗

    mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh and pull-up-loading patterns. It provides a system for handling touch-based scrolling, managing pagination states, and integrating these behaviors within Vue applications. The library distinguishes itself through specialized support for chat interfaces, enabling reverse-order data loading and the ability to inject data in a reverse direction to simulate message histories. It also includes a state-persistent scroll cache to preserve vertical offsets and list data when users navi

    Vuebouncecss3html5
    View on GitHub↗4,459
  • samvermette/svpulltorefreshsamvermette avatar

    samvermette/SVPullToRefresh

    4,784View on GitHub↗

    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.

    Objective-C
    View on GitHub↗4,784
Compare all 30 related projects→

Frequently asked questions

What does metafizzy/infinite-scroll do?

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.

What are the main features of metafizzy/infinite-scroll?

The main features of metafizzy/infinite-scroll are: Infinite Scrolling, Loading and Status Indicators, History State Updates, DOM Content Appenders, Scroll-Based Resource Loading, Sequential Page Navigators, Loading, Page Loading Buttons.

Which projects share features with metafizzy/infinite-scroll?

Projects with overlapping indexed features include: petyosi/react-virtuoso — React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids,… webcreate/infinite-ajax-scroll — Infinite-ajax-scroll is a JavaScript library that automatically appends subsequent pages of content as users scroll… mescroll/mescroll — mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh… samvermette/svpulltorefresh — SVPullToRefresh is a library for adding pull-to-refresh and infinite scrolling behaviors to UIKit scroll views on the… xrecyclerview/xrecyclerview — XRecyclerView is an Android list component and extension library that adds pull-to-refresh and infinite scrolling… fredwu/jquery-endless-scroll — This project is a jQuery plugin designed to replace traditional page-based navigation with continuous, dynamic content…