25 个仓库
Detecting scroll events within specific elements instead of the global document for targeted infinite scrolling.
Distinct from Scroll Containers: Distinct from Scroll Containers by focusing on the detection of triggers for data fetching rather than the container's styling.
Explore 25 awesome GitHub repositories matching user interface & experience · Custom Scroll Triggers. Refine with filters or upvote what's useful.
该项目是一个原生 JavaScript 库和 Web 性能优化工具,旨在推迟图像、视频和 iframe 的加载,直到它们进入浏览器视口。它充当交叉观察器(Intersection Observer)封装器和自适应媒体加载器,以减少初始页面加载时间并节省带宽。 该库通过支持 srcset 和 picture 标签的响应式图像,以及 CSS 背景图像和动画 SVG 而脱颖而出。它在可用时与原生浏览器加载属性集成,同时为不支持的环境提供自定义回退。它还可以根据元素可见性触发特定 JavaScript 函数的执行。 广泛的功能包括前端资产管理,支持自定义滚动容器定位和针对异步注入元素的动态内容观察。该实用程序还通过资产加载错误处理来管理网络可靠性,并取消在完成前退出视口的元素的活动下载。
Detects visibility triggers within specific scrolling containers instead of only the global browser window.
Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a state synchronization protocol and client-side routing bridge, allowing developers to build interactive experiences using modern JavaScript component libraries while keeping routing and controllers on the server. This approach eliminates the need for a separate REST or GraphQL API layer by passing data from server controllers to frontend components as props via JSON payloads. The framework distinguishes itself by utilizing adapter-based integration to link various backend environ
Detects scroll triggers within a specific element instead of the main document to enable nested infinite scrolling.
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
Automatically fetches and appends the next page of content when the user scrolls near the bottom of a container.
elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a webpage. When clicked, it smoothly animates the page back to the top while playing a looping elevator music track in the background, masking the transition and adding a whimsical touch to the user experience. The library goes beyond a simple scroll-to-top button by offering configurable scroll duration, the ability to scroll to any specified DOM element with optional vertical padding, and callback hooks that fire user-defined functions at the start and end of the animation. This allo
Provides callback hooks that fire at the start and end of scroll animations for custom integration.
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
Triggers loading of additional content when the user scrolls to the end of the list.
Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver API to trigger step-based callbacks and animations as the user scrolls through a page. It pins graphic elements using CSS sticky positioning while scrolling through associated text steps, enabling side-by-side narrative experiences without JavaScript-driven layout calculations. The library provides a configurable offset threshold system that accepts a single global offset or per-element data-attribute offsets to define the viewport position that triggers step events. It reports
Fires enter and exit callbacks when step elements cross configurable viewport thresholds.
该项目是一个 React 懒加载组件,旨在通过推迟子元素的渲染直到它们进入浏览器视口来提高前端性能。它作为一个资源生命周期管理器和可见性触发器,防止屏幕外组件的不必要挂载,从而减少初始页面加载时间和内存使用。 该库为可见性触发器提供了配置,允许使用自定义偏移量和特定滚动容器来确定组件何时加载。它包括管理组件生命周期的机制,可以选择组件在出现后是保持加载还是在离开视口时卸载。 其他功能涵盖通过使用占位符进行延迟渲染,以及优化滚动和调整大小监听器的事件处理。该系统还支持手动可见性验证,以强制进行视口检查或要求组件显示。
Allows developers to configure load triggers using custom offsets, specific scroll containers, and resize event responses.
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
Provides user-defined callbacks that execute at the start and end of smooth scrolling animations.
XRecyclerView 是一个 Android 列表组件和扩展库,为标准 RecyclerView 添加了下拉刷新和无限滚动行为。它作为一个可滚动的移动 UI 元素,旨在管理支持动态页眉和页脚的数据驱动列表。 该库提供了一个基于手势的界面,用于通过下拉刷新小部件触发内容重新加载,并实现了一种机制,当用户到达列表底部时触发数据获取回调,以启用无限滚动。 它进一步支持动态列表页眉管理,以及实现加载更多工作流,以便在用户滚动时追加新内容。
Automatically fetches and appends the next page of content when the user scrolls near the bottom.
SVPullToRefresh 是一个用于在 iOS 平台的 UIKit 滚动视图中添加“下拉刷新”和“无限滚动”行为的库。它提供了专门的 UI 组件,支持在可滚动视图中进行手动内容刷新和分页。 该库实现了当用户从顶部拉动滚动视图或到达可滚动区域底部时触发数据加载操作的机制。这些触发器允许同步最新信息或追加更多内容,从而创建连续的信息流。
Provides a mechanism to automatically fetch the next page of content when scrolling to the bottom.
in-view 是一个 DOM 可见性检测器和 Intersection Observer 封装库。它作为一个视口过渡处理器,在特定屏幕元素进入或离开浏览器窗口时触发回调和事件。 该库提供了一个系统,用于使用像素偏移、百分比或自定义测试函数来配置可见性标准。它包括用于观察可见性变化、执行手动可见性评估以及检查元素在可见区域内当前状态的实用程序。 这些功能支持诸如懒加载、无限滚动、滚动驱动动画和用户参与度分析等应用模式。
Provides a configuration system to define visibility thresholds using pixels, percentages, or custom functions.
Stellar.js 是一个 JavaScript 视差库和基于滚动的运动框架,用于协调 DOM 元素定位和 CSS 变换。它作为一个定位工具,根据滚动触发器计算背景图像和前景项目的实时坐标偏移。 该库利用 CSS 变换动画引擎,确保移动端和桌面端浏览器上的运动均经过硬件加速。它通过对元素应用相对于自然滚动速率的不同移动速度来创建深度效果。 该框架涵盖了一系列运动功能,包括背景和元素视差的速度比计算,以及基于偏移的对齐。它允许将祖先元素定义为参考点,以确定项目何时应返回其原始位置。
Includes specialized adapters to read scroll positions from non-standard sources in touch-scrolling environments.
fluttereasyrefresh 是一个用于在 Flutter 列表组件中实现下拉刷新和无限滚动分页的库。它提供了通过下拉手势触发数据重载以及通过上拉触发器获取额外数据块所需的功能组件和逻辑。 该项目具有解耦的指示器架构,允许自定义视觉样式、主题动画以及页眉和页脚的灵活定位。它包含一个集中式控制器,能够独立于用户手势以编程方式管理刷新和加载状态。 该库通过可自定义的物理效果和惯性来涵盖滚动管理,以及通过分页数据同步来自动化基于页面索引的数据加载。它还提供了嵌套滚动视图的集成,以协调视图层次结构中的指示器位置。
Uses custom scroll physics to detect overscroll offsets, triggering refresh headers or load footers based on drag distance.
react-waypoint 是一个 React 组件和视口跟踪工具,根据 DOM 节点在可滚动区域内的可见性执行函数。它监控元素何时进入或离开浏览器视口或指定的滚动容器以触发回调。 该项目支持实现无限滚动、资源懒加载和滚动触发动画。它允许使用偏移量进行自定义滚动容器定义和视口边界配置,以确定事件触发的精确时机。 该工具为垂直和水平滚动提供元素位置跟踪和可见性监控。它包括触发灵敏度控制和事件节流,以管理快速滚动期间的回调执行。
Fires user-defined callbacks when elements cross configurable viewport thresholds during vertical or horizontal scrolling.
react-waypoint 是一组 React 组件和包装器,旨在当特定 DOM 元素进入或离开可见屏幕区域时执行回调。它作为一个视口可见性跟踪器,监控元素何时跨越预定义的空间边界。 该项目提供了一个滚动触发组件和事件包装器,允许进行自定义偏移配置以考虑固定的 UI 元素。这些工具可以配置为使用特定的 DOM 节点或全局窗口作为可见性计算的滚动祖先。 该库涵盖了多种实现模式,包括无限滚动、内容懒加载和滚动触发动画。它通过监控元素可见性并根据元素的边界框与当前视口的交集触发函数来管理这些操作。
Configures top and bottom offsets to adjust the trigger points for element visibility.
ScrollTrigger 是一个 JavaScript 库和 DOM 滚动事件管理器,旨在当元素进入或离开浏览器视口时执行回调并切换 CSS 类。它作为 Intersection Observer API 的高级接口,以及一个用于根据元素相对于视口的位置启动视觉转换和异步任务的系统。 该工具允许使用像素或百分比偏移量定义精确的触发点,以精确控制事件触发的时间。它通过跟踪可见性阈值来管理滚动驱动的视觉动画和懒加载实现。 该库提供了监控滚动活动的功能,例如跟踪滚动何时开始、停止或改变方向。它进一步支持视口事件触发,以便在元素跨越特定坐标时运行自定义函数或 Promise。
Runs custom functions or promises when elements enter, leave, or remain visible within the browser viewport.
Sal is a lightweight vanilla JavaScript library designed to trigger CSS animations and execute custom logic as elements enter the browser viewport. It serves as a programmatic wrapper for the Intersection Observer API, providing a viewport trigger system to handle visibility thresholds and scroll-based animations. The library operates as a dependency-free frontend tool that manages animations through a class-based trigger mechanism and the injection of CSS custom properties. It includes a system for tracking dynamic content, allowing the observer to be updated to include new elements injected
Defines the percentage of an element's area or root margin required to trigger animations.
BasicScroll is a standalone scroll-driven animation library that updates CSS custom properties, element styles, and CSS properties dynamically based on absolute or relative viewport scroll positions. It functions as an animation engine designed to build custom parallax scrolling experiences and fluid visual effects on both mobile and desktop viewports. The library supports custom scroll range definitions anchored directly to specific document elements, alongside callback executions that trigger user-defined functions with live progress data and state percentages as the viewport enters or leav
Defines custom scroll ranges anchored directly to specific document elements.
React custom scrollbars is a user interface component built for React applications that replaces native browser scrollbars with custom-styled tracks and thumbs. It maintains consistent visual appearance across different platforms and browsers while generating matching markup on both server and client environments to support server-side rendering without layout shift. The library provides comprehensive styling options by overriding default track, thumb, and view elements with custom components, CSS classes, or inline styles. It handles layout adjustments by resizing container dimensions dynami
The scroll component library triggers callback functions during scrolling actions so applications can respond smoothly to user movement.
This project is a frontend component designed to manage dynamic content loading and scroll-based interactions within web applications. It provides a reusable interface for handling data injection as users navigate through scrollable areas, ensuring that content updates occur automatically based on scroll position or manual user triggers. The component distinguishes itself by supporting both standard downward infinite scrolling and inverse scrolling, which allows for the natural expansion of content history in chat-like interfaces. It offers developers full control over the visual presentation
Monitors scroll position relative to container height to trigger automatic data fetching near the bottom.