35 个仓库
Configuration for how the window scrolls during transitions, including smooth scrolling and asynchronous resolution.
Distinct from Scroll Restoration: Focuses on the behavior and logic of the scroll transition, whereas Scroll Restoration focuses on returning to a specific offset.
Explore 35 awesome GitHub repositories matching user interface & experience · Scroll Behavior Control. Refine with filters or upvote what's useful.
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
Toggles nested scrolling and content translation to manage interactions between scrollable areas and refresh elements.
Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of single-page applications. It functions as a navigation engine that manages browser history and URL state to allow page transitions without full browser reloads. The system utilizes a nested route manager to render hierarchical views that match complex URL structures. It includes navigation guard middleware to intercept, validate, or redirect route transitions before components are rendered. A client-side history handler synchronizes application state with the browser URL using
Controls window scrolling behavior during navigation using smooth transitions or manual restoration.
Skrollr is a dependency-free scroll-driven animation engine and cross-platform frontend library. It functions as a toolkit for linking CSS properties and HTML attributes to scroll positions to create synchronized animations, specifically providing utilities for the interpolation of SVG attributes. The library enables the creation of parallax scrolling and interactive web storytelling by mapping scroll offsets to specific style values. It allows for the development of non-linear movement and dynamic SVG effects through the use of custom HTML attributes that define keyframes. The system covers
Adjusts the duration and deceleration of scrolling movements to refine the feel of parallax effects.
This project is a cross-platform mobile carousel component for creating swipeable image and content sliders. It functions as a virtualized list component that maintains performance by removing off-screen elements and utilizes a native-driver animation library to map scroll offsets to style properties on the native thread for lag-free transitions. The library provides a parallax image gallery capable of shifting images relative to scroll progress to create a sense of depth. It also features a layout system that supports right-to-left orientations for languages such as Arabic and Hebrew. Capab
Configures scroll behavior, including momentum and snapping precision, for a refined touch experience.
onepage-scroll is a JavaScript library and scroll orchestrator that transforms websites into a series of sections navigated one page at a time. It functions as a single page navigation tool that implements viewport-based section snapping to lock the scroll position to full-screen segments. The library provides a responsive scrolling interface that automatically reverts to standard browser scrolling behavior when the window width drops below a defined threshold. It synchronizes the browser address bar with the current section index as the user navigates through the page. The system includes c
Provides a scrolling implementation that falls back to standard browser behavior on small viewports.
Solaar is a device management tool and configuration suite for Logitech wireless peripherals on Linux. It serves as an input peripheral monitor that tracks battery levels and connection link quality via a system tray application, while providing a receiver manager for pairing and unpairing wireless devices with proprietary USB receivers. The project features an input device automation engine that maps hardware events and mouse gestures to simulated keyboard inputs or system commands. This allows for the creation of custom rules that trigger actions based on device notifications or specific wi
Enables modification of scroll wheel resolution and direction to customize navigation.
Locomotive Scroll is a JavaScript library and toolkit for managing DOM scroll interactions, featuring a smooth scroll motion controller and a parallax scrolling engine. It provides a system for implementing fluid scrolling and tracking element visibility within the viewport. The library creates depth and motion by moving elements at different speeds relative to the scroll position. It includes a viewport visibility tracker used to initiate visual transitions and animations when specific elements enter the browser viewport. The toolkit covers programmatic scroll control, dynamic element regis
Implements a custom scroll engine by intercepting native wheel events and updating element positions via CSS transforms.
MaterialViewPager is a library that creates a scrollable, swipeable interface with an animated header image, toolbar, and logo following Material Design guidelines. It provides a complete implementation of a Material Design ViewPager, where the header background color and image animate as the user swipes between pages. The library coordinates scroll-driven header animations by synchronising scroll offsets from the ViewPager and attached scrollable views through a central coordinator. It supports fragment-based page composition, allowing each page to have independent content layouts while shar
Configures the toolbar to hide, stick, or become transparent based on scroll position in a view pager.
react-joyride is a user onboarding library for React applications used to create interactive guided tours and walkthroughs. It provides a framework for defining sequences of tooltips and beacons that highlight specific user interface elements to introduce users to application features. The library distinguishes itself through a programmatic controller that allows developers to manage tour state, navigation, and lifecycle events via external application logic. It supports a high degree of visual extensibility, allowing the replacement of default tooltips and beacons with custom components to m
Adjusts animation duration and offset when moving the viewport to focus on a target element.
UltimateRecyclerView is an advanced list component for Android that provides built-in support for animations, sticky headers, and pull-to-refresh. It functions as a specialized set of UI elements designed to handle draggable, expandable, infinite-scrolling, and swipeable list interfaces. The project includes a draggable list manager for reordering items through drag-and-drop interactions and an expandable list component for toggling additional item details. It implements a swipe-to-dismiss interface for item removal and a list controller that enables infinite scroll pagination by triggering d
Synchronizes the visibility of external UI elements like toolbars with the user's scroll direction.
pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction and parallel browser automation. It controls Chromium-based browsers via direct WebSocket connections, allowing it to manage isolated browser contexts and tabs while bypassing the overhead and detection associated with WebDriver. The project features an anti-bot evasion framework that mimics natural human behavior, including mouse movements generated via Bezier curves and variable typing patterns. It provides specialized stealth capabilities to bypass behavioral analysis and au
Mimics natural browsing behavior by scrolling with physics-based momentum and jitter.
Allows replacing the default scroll mechanism with a custom function for smooth scrolling effects.
Custom scrollbars vanilla javascript library with native scroll, done simple, lightweight, easy to use and cross-browser.
Overrides the native scrollbar visibility while preserving the original scroll event handling and momentum physics.
LinearMouse is a macOS system utility that overrides default pointer acceleration and scrolling behaviors for mice and trackpads. It provides tools to remove cursor acceleration for linear movement and decouple scroll directions for individual devices. The project features an input device profiler that allows for unique cursor and scroll configurations based on the connected hardware. It also includes an input remapper to assign mouse buttons and scroll gestures to keyboard shortcuts and system media controls. The utility covers pointer precision adjustment, scroll behavior customization, an
Reverses scroll direction for individual devices and tunes sensitivity to match user preferences.
SDCycleScrollView 是一个 iOS 轮播 UI 组件,提供了一个用于在连续水平或垂直序列中显示图像或文本的循环滚动视图。它充当无限滚动视图,按设定的时间间隔自动循环播放内容项。 该组件包含一个页面控制导航指示器,使用可自定义的点或图像显示循环内的当前位置。它通过自定义单元格布局和关联的标题数组支持可自定义的轮播内容。 该工具通过滚动方向控制以及禁用拖动手势或跳转到特定内容索引的能力来管理滚动行为。它将分页指示器的视觉状态与内容区域的滚动偏移量同步。
Allows configuration of scrolling directions, drag gestures, and jumps to specific content indices.
AMScrollingNavbar 是一个 Swift UI 组件和控制器,旨在将 UINavigationBar 的移动与 UIScrollView 的滚动位置同步。它作为一个导航栏行为修改器,允许导航栏根据用户的滚动交互动态隐藏或显示。 该项目提供了一种协调多个界面元素移动的机制,使工具栏或标签栏等辅助视图能够与导航栏同步滑动。它利用基于偏移量的平移和可自定义的滚动速度,来控制滚动过程中元素退出屏幕的快慢。 该系统包括基于代理的状态通知来监控可见性变化,并为滚动视图提供了一个专门的接口扩展,以管理这些动态的头部过渡效果。
Configures toolbars and navigation bars to hide or slide based on the scroll position of the content area.
DiscreteScrollView 是一个用于 React Native 的 UI 组件和动画库,旨在创建居中滚动视图和无限滚动列表。它提供了一种机制,使活动选择项保持在视口中心,同时保持相邻项的可见性。 该库支持通过在数据集内无边界循环来实现无限轮播。它允许根据项目相对于视图中心的实时滚动位置对项目应用视觉变换。 该工具集包括监控选择状态和配置滚动行为的功能,例如限制滚动方向或控制用户滑动项目的方式。它还提供了在滚动位置或居中项目更新时触发自定义操作的逻辑。
Allows configuration of how users slide through items and restricts scrolling directions.
Swup 是一个页面转换库和 AJAX 页面加载器,旨在为服务端渲染的网站创建无缝的动画页面转换。它作为一个 DOM 内容编排器和浏览器历史记录管理器,拦截导航以动态替换页面内容并模拟单页应用程序体验。 该项目的独特之处在于基于 Hook 的生命周期系统和插件架构,允许注入自定义逻辑和动画效果。它支持先进的视觉方法,包括 DOM 内容变形、用于重叠动画的并行 DOM 渲染,以及与原生浏览器 View Transitions API 的集成。 该库涵盖了广泛的功能,包括客户端导航管理、基于内存的页面缓存以及后台页面预加载以优化性能。它还提供了全面的滚动位置恢复、针对屏幕阅读器的无障碍优化,以及在转换过程中同步文档 Head 元数据和脚本执行的工具。
Implements advanced control over how the window scrolls during page transitions, including smooth animations.
OverlayScrollbars 是一个 JavaScript 滚动条插件和 DOM 元素滚动管理器,用可自定义样式的覆盖版本替换原生浏览器滚动条。它作为一个 UI 组件,用于设置滚动条轨道和滑块的样式,同时保留原始的滚动行为和可访问性。 该项目通过使用自定义 Web 滚动条覆盖原生实现,确保了跨浏览器的 UI 一致性。它利用 CSS 自定义属性和预定义主题系统,使滚动条的视觉外观能够匹配特定的网站设计。 该库包含一个用于按元素控制滚动条布局和性能模式的程序化接口。它具有用于添加自定义行为或兼容性 Polyfill 的插件架构,并提供在元素大小或内容更改时进行手动布局重新计算的工具。
Wraps elements in containers to hide native browser scrollbars while preserving original overflow behavior.
GravitySnapHelper 是一个 Android 列表滚动控制器和 RecyclerView 捕捉助手,旨在管理滚动速度并将列表项对齐到特定的容器边缘。它作为一个定位机制,确保当用户交互停止时,元素能够捕捉到视口边界。 该项目提供了对从右到左布局方向的特定支持,确保列表项能够正确对齐到屏幕边缘,无论设备语言方向如何。 该工具包括用于调节滚动移动的功能,例如使用像素偏移或容器百分比限制滑动距离。它还监控滚动速度和速率,以确定项目何时应触发向下一个捕捉目标的转换。
Restricts how far a list flings by setting a maximum pixel distance or a percentage of the container size.