21 个仓库
Utilities for programmatically controlling scroll positions and viewport navigation in automated tests.
Distinct from Scroll Areas: Distinct from Scroll Areas: focuses on active, programmatic scroll manipulation for testing rather than UI container styling.
Explore 21 awesome GitHub repositories matching user interface & experience · Programmatic Scrolling. Refine with filters or upvote what's useful.
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
Streams through vertical or horizontal slides automatically using programmatic scrolling controls.
react-virtualized is a library of components for rendering massive lists and tables by drawing only the elements visible in the viewport. It provides specialized layout managers including a windowed grid component and a dynamic height list manager. The project includes a masonry layout engine for packing items of varying heights and widths, as well as an infinite scroll interface for incrementally fetching and appending data. The library covers a broad range of virtualization capabilities, including frozen grid elements, reverse list rendering, and synchronized viewport scrolling. It also su
Links the scroll positions of multiple separate containers so they move in unison.
xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based
Tracks the visible scroll region and view dimensions to synchronize the rendered state and calculate wrapping.
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Programmatically moves the viewport to align with specific widgets to ensure they are reachable in the UI.
iscroll is a JavaScript smooth scrolling library and web interaction framework. It provides a 2D web panning controller and a CSS transform zoom engine to manage inertial scrolling, panning, and zooming for web elements across different devices. The project enables the implementation of custom scrollbar interfaces and navigation maps that track the current viewport position. It supports the creation of interactive web carousels with element snapping, web parallax effects, and content scaling via pinch-to-zoom or mouse-wheel inputs. The library covers a broad range of interaction capabilities
Allows jumping the scroll position to a specific target element using programmatic calls.
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Provides utilities to programmatically scroll nested child elements into the visible viewport.
Agent-S is a multimodal AI agent and LLM desktop automation framework designed to control operating systems through graphical user interface interactions. It functions as a computer use interface, utilizing vision-language grounding to translate natural language goals into precise screen coordinates and system actions. The project differentiates itself by combining structured accessibility tree inspection with vision-based element localization. It manages cross-application workflows by mapping conceptual descriptions to physical pixels and simulating low-level keyboard and mouse events to mov
Implements programmatic vertical and horizontal scrolling using pixel deltas to navigate user interfaces.
Maestro is a declarative mobile and web UI automation framework designed for end-to-end testing. It operates by querying the native accessibility tree of an application, allowing for black-box testing without requiring source code instrumentation or platform-specific dependencies. The framework distinguishes itself through a unified command syntax that abstracts interactions across Android, iOS, and web environments. It features a dynamic synchronization engine that automatically pauses test execution to account for non-deterministic animations and network-dependent content loading, ensuring
Performs swipe gestures within specific UI containers to locate elements not reachable by full-screen scrolling.
This project provides high-performance list components for React Native that utilize a view-recycling rendering engine. It is designed to display large datasets by reusing existing components instead of destroying and recreating them, which reduces memory usage and prevents blank cells during fast scrolling. The library distinguishes itself through a specialized virtualized list manager and support for masonry grid layouts, which allow for multiple columns with varying item heights. It includes a type-based recycling system that ensures the correct component structure is reused for specific d
Provides commands to programmatically move the list to specific pixel offsets with animation support.
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
Moves the viewport to any specified DOM element with optional vertical padding and smooth animation.
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
Allows setting unique viewport offsets for individual step elements via data attributes.
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
Enables programmatic viewport movement to specific DOM elements via JavaScript function calls.
Swup 是一个页面转换库和 AJAX 页面加载器,旨在为服务端渲染的网站创建无缝的动画页面转换。它作为一个 DOM 内容编排器和浏览器历史记录管理器,拦截导航以动态替换页面内容并模拟单页应用程序体验。 该项目的独特之处在于基于 Hook 的生命周期系统和插件架构,允许注入自定义逻辑和动画效果。它支持先进的视觉方法,包括 DOM 内容变形、用于重叠动画的并行 DOM 渲染,以及与原生浏览器 View Transitions API 的集成。 该库涵盖了广泛的功能,包括客户端导航管理、基于内存的页面缓存以及后台页面预加载以优化性能。它还提供了全面的滚动位置恢复、针对屏幕阅读器的无障碍优化,以及在转换过程中同步文档 Head 元数据和脚本执行的工具。
Applies custom attributes to target elements to enable CSS styling when they are scrolled into view.
Simpl 是一个 HTML、CSS 和 JavaScript 示例库,提供了一系列核心 Web 技术和原生浏览器 API 的最小功能演示。它作为前端开发的参考实现和模式库,提供了如何实现常见 Web 功能的实用示例。 该项目展示了广泛的浏览器功能,包括通过 WebSockets 和 WebRTC 进行的实时 Web 通信、用于自适应布局的响应式 Web 设计技术,以及使用 Service Workers 实现离线工作流。它还提供了使用 IndexedDB 和基于浏览器的键值存储进行客户端存储的演示。 该库涵盖了广泛的 Web 功能,包括与设备传感器和地理位置的硬件集成、用于音频和视频的高级媒体捕获和播放,以及使用 Canvas 进行二维和三维图形渲染。其他领域包括数据操作、异步编程以及使用浏览器 API 监控性能和网络连接。
Scroll the page until a specific element becomes visible within the current viewport.
这是一个 React 动画库,提供了一系列组件,用于创建编排运动、复杂过渡和 SVG 形态变换。它作为一个运动设计规范和 UI 组件动画封装系统,用于将 3D 变换、贝塞尔曲线和进入-退出过渡应用于界面元素。 该项目包括一个滚动驱动的动画套件,用于将 UI 运动和视差效果与视口位置同步;以及一个 SVG 运动框架,用于动画化路径、增量绘制线条以及插值坐标以进行形状变换。 其功能涵盖了广泛的视觉运动,包括旋转轮播图等 3D 视觉效果、用于数值插值的数据可视化运动,以及交互式落地页组件。它还管理表格和列表的复杂组件动画,并提供用于对多个元素进行排序和链接动画的工具。
Programmatically scrolls the viewport smoothly to target elements while managing active visibility states.
mescroll 是一个 JavaScript 无限滚动库和移动端 Web 滚动管理器,旨在实现下拉刷新和上拉加载模式。它提供了一个用于处理触摸滚动、管理分页状态以及在 Vue 应用程序中集成这些行为的系统。 该库的特色在于对聊天界面的专门支持,能够实现反向数据加载,并能够以反向注入数据来模拟消息历史。它还包括一个状态持久化的滚动缓存,以在用户在不同视图之间导航时保留垂直偏移量和列表数据。 该项目涵盖了广泛的交互和性能功能,包括抑制原生浏览器回弹效果、视口感知图像懒加载以及程序化滚动定位。它还提供了用于管理分页状态、自定义加载和空状态 UI 以及实现返回顶部导航的实用工具。
Enables programmatic movement of the list to specific vertical coordinates with optional smooth animations.
react-scroll 是一个用于在 React 应用中管理页面元素之间平滑和即时滚动行为的库。它作为一个 DOM 滚动控制器,提供了一个声明式 API 和一组组件,用于将视口动画化到特定的目标元素。 该库通过允许视口通过即时跳转或动画过渡移动到目标元素来实现自定义滚动。它提供了一个系统,通过使用 Mixin 定义特定的移动触发器和目标,将此滚动逻辑集成到自定义组件中。 该项目涵盖了单页应用布局内的视口导航和焦点过渡,将 React 组件中的用户操作链接到页面内的特定位置。
Acts as a declarative controller for programmatically moving the viewport to specific target elements.
Fixed-data-table 是一个 React 组件库,专为在结构化、可滚动的网格界面中渲染大数据集而设计。它作为一个虚拟化表格,通过仅渲染视口内当前可见的行来优化性能。 该库通过专注于在导航期间保持上下文而脱颖而出,利用固定表头布局和同步滚动状态管理。它采用基于索引的数据访问方式将信息映射到特定的网格坐标,从而允许模块化的单元格自定义和灵活的列配置。 该组件支持全面的表格展示管理,包括列宽调整和行高调整。它提供对滚动行为的编程控制,使表格移动能够与外部界面元素或自定义手势同步。
Enables programmatic control over scroll positions to synchronize table movement with external interface elements or gestures.
该项目是一个 jQuery 插件,它用支持垂直和水平轴的主题化、可自定义版本替换原生浏览器滚动条。它提供了一个导航层,旨在确保跨鼠标、键盘和触摸设备的一致滚动行为。 该插件允许使用 CSS 和预设主题修改滚动条轨道和拖动块,以保持跨浏览器 UI 的一致性。它通过可调节的动量、吸附和鼠标滚轮加速,实现了对导航物理感的控制。 该系统包括用于程序化内容定位、内部链接同步和元素可见性检测的功能。它可以根据视口尺寸自动切换滚动条方向,并提供了一种在滚动达到特定里程碑时触发用户定义函数的机制。
Implements methods to programmatically move the viewport to specific coordinates or halt active scrolling animations.
Viewers is a zero-footprint DICOMweb medical imaging viewer and a modular plugin framework. It serves as a diagnostic interface for rendering 2D and 3D medical images, providing a web-based clinical workflow engine to automate image layouts and toolsets. The project distinguishes itself through a highly extensible architecture that allows for the development of custom clinical workflows, specialized viewing modes, and the integration of external functional extensions. It includes a dedicated command line interface for managing these plugins and supports white-labeling through a comprehensive
Cornerstone links viewports so that changes to zoom or window-leveling in one view are applied to others.