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
ustbhuangyi avatar

ustbhuangyi/better-scroll

0
View on GitHub↗
16,489 stars·2,586 forks·TypeScript·MIT·18 viewsbetter-scroll.github.io/docs/en-US↗

Better Scroll

Better-scroll is a JavaScript scroll library and touch interaction engine designed to create high-performance scrollable areas in web browsers. It functions as a modular UI component framework that provides the foundation for building complex scrollable elements.

The library is distinguished by a plugin-based architecture that allows the injection of custom methods and event hooks. This system enables the creation of specialized interface components such as carousel sliders, scrollable picker inputs, and draggable element systems.

The project covers a wide range of mobile web interaction patterns, including pull-to-refresh workflows, infinite scrolling, and pinch-and-scale zooming. It includes a smooth scrolling engine with inertia and rebound effects, alongside a DOM content observer that monitors size changes to update scrollable dimensions. Technical capabilities also encompass nested scroll coordination and mouse wheel mapping for consistent cross-platform behavior.

Features

  • Smooth Scrolling - Provides a high-performance smooth scrolling engine with configurable inertia and rebound effects.
  • Mobile Scroll Libraries - Serves as a high-performance JavaScript library for creating smooth touch scrolling experiences on mobile websites.
  • Touch and Gestures - Functions as a touch interaction engine for handling gestures like swiping, pulling to refresh, and infinite loading.
  • Plugin & Integration Systems - Provides a system for integrating custom plugins to add new methods and event hooks to the core instance.
  • Hook-Based Plugin Systems - Features a plugin architecture that allows extending the core instance via lifecycle event hooks and interface injection.
  • Physical Motion Simulators - Provides a fluid scrolling engine with configurable inertia and rebound effects to mimic physical movement.
  • Event-Driven Interaction Handlers - Translates raw touch and mouse wheel events into internal coordinate changes to drive scroll state.
  • Modular UI Components - Provides a plugin-based architecture for composing complex scrollable UI modules like carousels and pickers.
  • Pull-to-Refresh Components - Provides a dedicated mechanism for triggering content refresh via downward swipe gestures.
  • Nested Scroll Coordination - Coordinates scrolling behavior between parent and child containers to prevent conflicting scroll events.
  • Smooth Scroll Libraries - Implements a high-performance scrolling library with inertia and rebound effects for web browsers.
  • Carousels and Sliders - Implements a layout system for organizing content into sliding pages accessible via swipes.
  • Custom UI Component Frameworks - Provides a framework for building specialized mobile elements like pickers and carousels through an extensible scrolling engine.
  • DOM Observers - Includes a utility that monitors DOM changes to dynamically update scrollable area height and prevent layout breaks.
  • DOM Mutation Observers - Monitors element size changes and image loads to automatically update the total scrollable area height.
  • Infinite Scrolling - Implements a UX pattern that automatically loads additional content as users reach the bottom of a list.
  • Touch Interaction Optimizations - Handles complex mobile navigation patterns including nested scrolling and pinch-to-zoom functionality.
  • Scroll Position Indicators - Provides visual scrollbars and indicators to communicate the user's position relative to the total content length.
  • Gesture-Based Zooming - Implements zoom functionality triggered by pinch-to-zoom gestures on touch interfaces.
  • DOM Mutation Observation - Monitors the DOM for structural changes and image loads to automatically update scrollable dimensions.
  • Slider - Listed in the “Slider” section of the Awesome Frontend awesome list.

Star history

Star history chart for ustbhuangyi/better-scrollStar history chart for ustbhuangyi/better-scroll

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Open-source alternatives to Better Scroll

Similar open-source projects, ranked by how many features they share with Better Scroll.
  • 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
  • fisshy/react-scrollfisshy avatar

    fisshy/react-scroll

    4,411View on GitHub↗

    react-scroll is a library for managing smooth and immediate scrolling behavior between page elements in React applications. It functions as a DOM scroll controller, providing a declarative API and a set of components to animate the viewport to specific target elements. The library enables custom scrolling by allowing the viewport to move to target elements through either instant jumps or animated transitions. It provides a system for integrating this scrolling logic into custom components using mixins to define specific movement triggers and targets. The project covers viewport navigation an

    JavaScript
    View on GitHub↗4,411
  • cferdinandi/smooth-scrollcferdinandi avatar

    cferdinandi/smooth-scroll

    5,444View on GitHub↗

    This JavaScript smooth scrolling library is a frontend utility and viewport motion controller designed to animate transitions to anchor links. It intercepts standard link clicks to replace instant jumps with fluid movement toward target elements. The library provides configurable motion easing patterns and speed controls to manage acceleration and deceleration. It includes a mechanism to cancel active animations immediately and supports programmatic scroll triggering via direct function calls. The tool handles positioning offsets to prevent target content from being hidden behind fixed heade

    JavaScriptanchor-linksanimate-scrollingjavascript
    View on GitHub↗5,444
  • scwang90/smartrefreshlayoutscwang90 avatar

    scwang90/SmartRefreshLayout

    25,141View on GitHub↗

    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

    Javaandroidandroid-uifooter
    View on GitHub↗25,141
See all 30 alternatives to Better Scroll→

Frequently asked questions

What does ustbhuangyi/better-scroll do?

Better-scroll is a JavaScript scroll library and touch interaction engine designed to create high-performance scrollable areas in web browsers. It functions as a modular UI component framework that provides the foundation for building complex scrollable elements.

What are the main features of ustbhuangyi/better-scroll?

The main features of ustbhuangyi/better-scroll are: Smooth Scrolling, Mobile Scroll Libraries, Touch and Gestures, Plugin & Integration Systems, Hook-Based Plugin Systems, Physical Motion Simulators, Event-Driven Interaction Handlers, Modular UI Components.

What are some open-source alternatives to ustbhuangyi/better-scroll?

Open-source alternatives to ustbhuangyi/better-scroll include: mescroll/mescroll — mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh… tholman/elevator.js — elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a… scwang90/smartrefreshlayout — SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll… cferdinandi/smooth-scroll — This JavaScript smooth scrolling library is a frontend utility and viewport motion controller designed to animate… fisshy/react-scroll — react-scroll is a library for managing smooth and immediate scrolling behavior between page elements in React… aholachek/mobile-first-animation — Mobile-first-animation is a mobile web animation library and touch gesture animation toolkit designed to create fluid,…