8 个仓库
Logic for determining state transitions based on drag distance thresholds.
Distinct from Coordinate-Based Positioning: Focuses on snapping logic based on distance thresholds rather than general coordinate-based placement.
Explore 8 awesome GitHub repositories matching user interface & experience · Gesture Thresholding. Refine with filters or upvote what's useful.
Slideout is a touch-gesture UI component and navigation menu designed for mobile web applications. It provides a side panel that slides across the screen to reveal navigation options, utilizing CSS transitions to animate the movement of the viewport. The component manages the expanded or collapsed state of the navigation menu and includes logic to restrict gestures for specific interface elements to prevent interaction conflicts. It employs a system for executing custom logic triggered by menu state transitions and user drag gestures.
Uses coordinate-based distance tracking to determine whether to snap the menu open or closed.
Snap.js is a JavaScript library for building draggable side navigation panels on touch devices. It enables slide-in menus from the left or right screen edge, driven by a gesture-based state machine that interprets drag and flick gestures to open and close the panel. The library distinguishes horizontal menu drags from vertical scrolling by analyzing the initial touch movement angle, and locks menu movement to a single axis to prevent interference. It uses hardware-accelerated CSS transforms for smooth animations and provides configurable snap thresholds that determine whether a drag should op
Uses configurable pixel thresholds to decide whether a drag should snap the menu open or closed.
这是一个用于 React Native 的移动 UI 覆盖层库,提供动画模态组件。它作为一个手势响应式界面元素,用于通过支持自定义过渡和动态布局调整的覆盖窗口来呈现补充内容。 该库具有动态布局观察器,可在屏幕旋转或屏幕键盘出现时自动调整组件大小和位置。它实现了基于手势的导航,允许用户通过配置的滑动操作和背景交互来关闭覆盖层。 该项目涵盖了动画和过渡协调,包括在窗口动画前后执行回调的生命周期钩子。它还包括用于背景自定义和滚动内容管理的实用工具,以防止在滑动关闭操作期间发生交互冲突。
Triggers modal dismissal based on touch coordinates and velocity thresholds during swipe gestures.
Koloda 是一款 iOS 手势交互库和 SwiftUI 视图组件,用于创建可滑动的卡片界面。它提供了一个基于堆栈的视图组件,用于管理重叠视图,确保只有最顶层的元素保持活跃交互。 该库允许自定义卡片外观,包括配置覆盖层和动画,这些动画决定了滑动过程中背景卡片的移动方式。它管理拖拽行为和滑动方向,在卡片被滑动、点击或完全耗尽时触发特定逻辑。 该组件涵盖了手势驱动视图转换的实现,以及用户通过常见选择交互模式关闭的卡片堆栈的渲染。
Determines successful swipe actions by calculating the distance between touch points and a center threshold.
Zag 是一个无头(headless)UI 状态机库,提供无样式的组件逻辑,以确保不同渲染引擎之间的一致行为。它作为一个工具包,利用状态图(statecharts)对复杂的 UI 交互进行建模,将底层逻辑和无障碍属性与视觉样式解耦。 该库与框架无关,利用专门的适配器将其状态机逻辑与 React、Solid、Vue 和 Svelte 等各种 JavaScript 库连接起来。这种方法允许开发者在应用任何 CSS 或样式解决方案时,通过状态驱动的数据属性来维护单一的交互模型。 Zag 涵盖了广泛的功能领域,包括针对键盘导航和 ARIA 属性的全面无障碍管理,以及大量的交互式原语。这些包括输入控件、菜单和标签页等导航元素、对话框和弹出框等覆盖组件,以及用于图像裁剪和签名捕获的复杂媒体处理。它还提供了用于分层数据管理、异步列表处理以及构建引导式产品导览的实用工具。
Implements dismissal logic based on touch velocity and distance thresholds for UI panels.
SVPullToRefresh 是一个用于在 iOS 平台的 UIKit 滚动视图中添加“下拉刷新”和“无限滚动”行为的库。它提供了专门的 UI 组件,支持在可滚动视图中进行手动内容刷新和分页。 该库实现了当用户从顶部拉动滚动视图或到达可滚动区域底部时触发数据加载操作的机制。这些触发器允许同步最新信息或追加更多内容,从而创建连续的信息流。
Implements logic to trigger refresh actions based on specific scroll distance thresholds.
Phoenix 是一个专为移动端和 Web 视图设计的下拉刷新 UI 组件及 JavaScript 手势库。它提供了一种可重用的交互模式,当用户向下拉动屏幕时触发数据更新。 该项目具有可自定义的视觉指示器和主题动画,可对下拉操作的状态做出反应。它包含手动状态协调机制,允许外部控制器独立于用户输入以编程方式触发或取消刷新序列。 为确保流畅的用户体验,该库通过拦截滚动事件与移动优先视图集成,以防止与原生浏览器行为发生冲突。
Implements logic to determine if a drag distance has reached the threshold required to trigger a refresh action.
This project is a jQuery plugin designed to detect and handle touch gestures on touch-enabled devices. It serves as a touch input handler and mobile gesture interface for identifying interactions such as swipes and pinches within a jQuery environment. The library distinguishes intentional gestures from accidental movements through configurable distance and time thresholds. It includes mechanisms to manage input interference, allowing for the exclusion of specific interactive child elements and the locking of default browser behaviors like scrolling or zooming during an active gesture. The sy
Validates intentional gestures by comparing movement distance and duration against configurable thresholds.