首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使滚动视图在拖动时停止移动,并对已触摸的手指立即恢复移动?

要使滚动视图在拖动时停止移动,并对已触摸的手指立即恢复移动,可以通过以下步骤实现:

  1. 首先,需要在前端开发中使用合适的框架或库来创建滚动视图。常见的选择包括React、Vue.js、Angular等。
  2. 在滚动视图组件中,可以使用相应的事件监听器来捕获用户的触摸事件。例如,在React中,可以使用onTouchStartonTouchMoveonTouchEnd等事件。
  3. 在触摸开始时,需要记录当前滚动视图的位置和触摸点的位置。可以使用相应的变量来保存这些信息。
  4. 在触摸移动时,可以通过计算触摸点的位置与初始触摸点的位置之间的差值,来确定滚动视图应该移动的距离。可以使用CSS的transform属性来实现平滑的滚动效果。
  5. 在触摸结束时,需要根据触摸点的位置和滚动视图的位置,来判断是否需要停止滚动。可以通过比较两者之间的差值来确定是否需要停止滚动。
  6. 如果需要停止滚动,可以使用相应的方法或属性来实现。例如,在React中,可以使用setState方法来更新滚动视图的位置,从而停止滚动。
  7. 同时,还需要对已触摸的手指立即恢复移动。可以通过重新计算滚动视图的位置,并使用相应的方法或属性来实现。例如,在React中,可以使用setState方法来更新滚动视图的位置,从而恢复移动。

总结起来,要使滚动视图在拖动时停止移动,并对已触摸的手指立即恢复移动,需要在前端开发中使用合适的框架或库来创建滚动视图,并通过事件监听器来捕获用户的触摸事件。在触摸开始、移动和结束时,需要记录和计算相应的位置信息,并根据这些信息来判断是否需要停止滚动和恢复移动。具体的实现方式可以根据具体的开发框架和需求来确定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【IOS开发基础系列】UIScrollView专题

1 UIScrollView原理        滚动过程当中,其实是修改原点坐标。当手指触摸后,scroll view会暂时拦截触摸事件,使用一个计时器。...某些对象是用来管理内容显示如何绘制,这些对象应该是管理如何平铺显示内容视图,以便于没有子视图可以超过屏幕尺寸。就是当用户滚动,这些对象应该恰当增加或者移除子视图。          ...为了达到这个目的,它临时中断了一个touch-down事件,通过建立一个定时器,定时器开始行动之前,看是否触摸手指做了任何移动。...假如定时器行动,没有任何位置改变,滚动视图就发送一个跟踪事件给触摸视图。如果在定时器消失前,用户拖动他们手指足够远,滚动视图取消子视图任何跟踪事件,滚动它自己。...而前面所说,中断touch-down事件,和取消touch事件是俩码事,所以当快速视图移动时候,当然可以滚动

44830

UIKit Dynamics:抛出视图 —《Graphics & Animation系列三》

红色和蓝色方块表示让图片做动画UIKit动态物理引擎点:蓝色方块表示触摸开始位置,红色方块会在手指移动跟踪。...从UIAttachmentBehavior开始,使图像视图制作平移手势跟踪手指。...当用户手指移动,手势识别器调用此方法更新锚点以跟随触摸。 另外,animator 会自动更新视图以跟随定位点。 运行demo,拖动视图会出现如下效果: ?...注意视图不仅仅是屏幕上进行旋转; 如果您在图像某个角落开始手势,则由于锚点缘故,视图会随着手指移动而旋转。 但是,当完成拖动,将视图恢复到原始位置会更好。...现在拖动图像后,它应该恢复到原始位置。 UIPushBehavior 接下来,我们需要在停止拖动时分离视图,并为其提供动力,以便在运动中释放视图可以继续其轨迹。

1.1K20

手势魅力-设置一个触摸菜单

(touchstart,touchmove,touchend),触摸属性,以及实现侧边栏动画,处理移动端点击,拖动,滑动,是不得要考虑用户触摸手势,判断手指在页面上到底是点击还是滑动,利用原生js...触摸属性列出当前屏幕上所有手指: PageX:返回手指放置DOM中x坐标。从左边开始计算,如果适用,则考虑水平滚动 PageY:返回手指放置DOM中y坐标。...这有什么好处呢 浏览器将尝试匹配显示刷新,以允许流畅动画 非活动选项卡中动画将停止CPU上花费更少) 它不会耗尽你电池寿命 拖动,点击和滑动:额外东西要考虑移动触摸手势 这些事件需要能够检测和区分拖拽...所以,当你玩手机触摸手势,想想: 限制:你想要什么元素停止?您希望它在每次拖动移动多远? 这个手势方向:你想只能水平移动,或者还是垂直移动?也许是两个? 拖动完成后你想要发生什么?...为了可读性,函数中没有太多代码行,我把它们全部分成了小一行 这个手机触摸手势最后有趣一部分 现在我触摸事件,变量和函数解释已经不存在了,现在是我关注如何创建动画时候了。

1.8K40

UIkit Dynamics 投掷效果

blueSquare将简单地表示您触摸开始位置,即您手指首先与屏幕接触。redSquare会在您手指移动跟踪您手指。...稍后,您将更改锚点,这将导致imageView移动。 将锚点连接到视图就像安装一个不可见杆,将锚点连接到视图固定附件位置。...但是很明显,我们一放开拖动,imageView马上回到原始位置,显然我们更希望手拖动后,存在惯性,还可以移动一段距离,为了解决这个问题,继续下面的学习 三、UIPushBehavior 停止拖动时分离视图...: CGFloat = 35 ThrowingThreshhold指示视图必须移动多快以使视图继续移动(而不是立即返回到原始位置)。...4、指定时间间隔之后,动画会通过将图像发送回目的地重置,因此它会拉出返回屏幕 - 就像一个球从墙上弹起! 效果如下: ?

1.2K50

最新iOS设计规范六|10大交互规范(User Interaction)

旋转(Rotate):旋转图像或视图 摇晃(Shake):撤销或重做 六、3D 触控(3D Touch ) 3D触摸可以说是为触摸交互方式提供了另一个维度交互,支持3D触摸设备上,用户可以通过屏幕施加不同程度压力来唤醒不同功能...当APP正在播放音频发生暂时性干扰而中断播放,中断结束后,应立即恢复播放。例如:播放配乐游戏和播放音频媒体应用,都应该恢复声音播放。 音频会话中断,确保您VoIP应用可以正确响应。...十二、拖放Drag and Drop 用一根手指,用户可以通过将内容从一个位置拖动到另一位置,然后抬起手指将其放下,来移动或复制所选照片,文本或其他内容。...触摸并按住所选内容使它看起来像上升附着在用户手指上。拖动内容,动画和视觉提示会确定可能目的地。系统还会显示一个标志,指示何时无法删除,否则将导致复制内容而不是移动内容。 起始点和目的地 ?...适当时机自动滚动目标的内容。 提取显示拖放内容最丰富表示形式。 如果适用,仅提取被放置内容相关部分。 内容被放置后,视图和集合视图中显示占位符。

4K30

自定义无限循环ViewPager(二)――ViewPager滑动原理解析

而ViewPager根据手势产生页面移动也正是因为重写了这两个方法。ViewPager存在两种移动方式: MOVE触摸事件中,页面随手指拖动移动。...简单总结下,就是onInterceptTouchEvent()方法中根据不同情况mIsBeingDragged进行赋值,触摸事件是否进行拦截;如果在MOVE事件中是可滑动,就调用performDrag...虽然,onInterceptTouchEvent()中产生了拖动效果,但主要还是是否拦截事件作出判断,关于页面的滑动还是onTouchEvent()中进行处理。...MotionEventCompat.ACTION_MASK) { case MotionEvent.ACTION_DOWN: { //如果按钮,立即停止滚动...拖拽进行处理,通过scrollTo()方法完成页面的移动,期间通过pageScrolled()完成相关事情处理,如DecorView显示、接口方法回调、动画接口回调等; 而另外一种移动方式onTouchEvent

2.2K10

JavaScript——触屏事件

touch对象代表一个触摸点,触摸点可能是一个手指,也可能是一根触摸笔。 触屏事件可响应用户手指(或触控笔)屏幕或者触控板操作。...常见触屏事件如下: 触屏touch事件 说明 touchstart 手指触摸到一个DOM元素触发 touchmove 手指在一个DOM元素上滑动触发 touchend 手指从一个DOM元素上移开触发...这类事件用于描述一个或多个触点,使开发者可以检测触点移动,触点增加和减少,等等。...但是拖动元素需要当前手指坐标值我们可以使用targetTouchies[0]里面的pageX和pageY 移动拖动原理:手指移动中,计算出手指移动距离,然后用盒子原来位置+手指移动距离 手指移动距离...:手指滑动中位置减去手指刚开始触摸位置 拖动元素三步曲: 触摸元素touchstart:获取手指初始坐标,同时获得盒子原来位置 移动手指touchmove:计算手指滑动距离,并且移动盒子 离开手指

2.1K10

Android 中心区域选中图表 WheelChart

产品要做一个支持横向滚动、中心区域选中、惯性滚动停止回滚到中心位置、点击选中、处理嵌套滚动图表需求 效果图如下: ?...自定义属性设置及使用 draw 绘制图表 触摸控制并处理多指触控问题(手指拖动图表可移动) 惯性滚动(根据手指释放速度计算图表需要滚动距离) 回滚 (up时或者惯性滚动结束 需要回滚到选中位置...) 点击选中 (根据点击坐标,计算需要选中下标选中) 处理嵌套滚动 1.自定义属性设置及使用 attr文件中声明该控件一些自定义属性,构造方法中解析,设置控件属性即可 2. draw 绘制图表...触摸控制并处理多指触控问题(手指拖动图表可移动触摸控制是根据第一个event点移动距离,调用viewscrollBy方法滚动view,主要代码如下 //处理滑动 计算现在event...,所以move判断如果移动距离小于IGNORE_MOVE_OFFSET = 2.5,忽略,这样当手机滑动比较慢,会有部分滑动事件被忽略掉情况,不过2.5这个值自己滑动觉得体验还可以,再大的话慢速滑动会有卡顿

81510

挥别web移动端开发差异和经典坑

,页面立即停止运动。.... auto: 使用普通滚动, 当手指触摸屏上移开,滚动立即停止。...touch: 使用具有回弹效果滚动, 当手指触摸屏上移开,内容会继续保持一段时间滚动效果。继续滚动速度和持续时间和滚动手势强烈程度成正比。同时也会创建一个新堆栈上下文。...手指按住屏幕上拉,底部多出一块白色区域。安卓无此特性。 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。...关键解决:composition event compositonstart: IME文本复合系统打开触发,表示要开始输入例如(输入法出现那一刻) compositionupdate: 向输入字段中插入新字符触发

2.9K20

触屏事件

触屏事件可响应用户手指(或触控笔)屏幕或者触控板操作。 常见触屏事件如下: ? 2....这类事件用于描述一个或多个触点,使开发者可以检测触点移动,触点增加和减少,等等 touchstart、touchmove、touchend 三个事件都会各自有事件对象。...可以实现拖动元素 但是拖动元素需要当前手指坐标值 我们可以使用 targetTouches[0] 里面的pageX 和 pageY 移动拖动原理: 手指移动中,计算出手指移动距离...然后用盒子原来位置 + 手指移动距离 手指移动距离: 手指滑动中位置 减去 手指刚开始触摸位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...(2) 移动手指 touchmove: 计算手指滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动 e.preventDefault

77841

触屏事件

触屏事件可响应用户手指(或触控笔)屏幕或者触控板操作。 常见触屏事件如下: 1.3.2....这类事件用于描述一个或多个触点,使开发者可以检测触点移动,触点增加和减少,等等 touchstart、touchmove、touchend 三个事件都会各自有事件对象。...可以实现拖动元素 但是拖动元素需要当前手指坐标值 我们可以使用  targetTouches[0] 里面的pageX 和 pageY 移动拖动原理:    手指移动中,计算出手指移动距离...然后用盒子原来位置 + 手指移动距离 手指移动距离:  手指滑动中位置 减去  手指刚开始触摸位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...(2) 移动手指 touchmove: 计算手指滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动 e.preventDefault

71720

移动端触屏事件

触屏事件可响应用户手指(或触控笔)屏幕或者触控板操作。 常见触屏事件如下: ? 2....这类事件用于描述一个或多个触点,使开发者可以检测触点移动,触点增加和减少,等等 touchstart、touchmove、touchend 三个事件都会各自有事件对象。...和 pageY 移动拖动原理:    手指移动中,计算出手指移动距离。...然后用盒子原来位置 + 手指移动距离 手指移动距离:  手指滑动中位置 减去  手指刚开始触摸位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...(2) 移动手指 touchmove: 计算手指滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动 e.preventDefault

2.9K30

前端成神之路-WebAPIs06

触屏事件可响应用户手指(或触控笔)屏幕或者触控板操作。 常见触屏事件如下: ? 1.3.2....因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.3.3.案例:移动拖动元素 touchstart、touchmove、touchend可以实现拖动元素 但是拖动元素需要当前手指坐标值...我们可以使用 targetTouches[0] 里面的pageX 和 pageY 移动拖动原理: 手指移动中,计算出手指移动距离。...然后用盒子原来位置 + 手指移动距离 手指移动距离: 手指滑动中位置 减去 手指刚开始触摸位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...(2) 移动手指 touchmove: 计算手指滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动 e.preventDefault

1.3K40

移动端必备H5问题及解决方案

,页面立即停止运动。...-webkit-overflow-scrolling: touch; /* 当手指触摸屏上移开,会保持一段时间滚动 */ -webkit-overflow-scrolling: auto; /* 当手指触摸屏上移开...,滚动立即停止 */ 解决方案 1.滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling 值设置为 touch .wrapper { -webkit-overflow-scrolling...产生原因 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。这个事件触发对象是整个 webview 容器,容器自然会被拖动,剩下部分会成空白。...解决方案 监听事件禁止滑动 移动触摸事件有三个,分别定义为 touchstart :手指放在一个DOM元素上。 touchmove :手指拖曳一个DOM元素。

4.4K42

JavaScript之移动端网页特效(1)

touch对象代表一个触摸点,触摸点可能是一根手指,也可能是一根触摸笔.触屏事件可相应用户手指(或触控笔),屏幕或者触控板操作 常见触屏事件如下: 试着写一下,切换成模拟手机调试 再来试试触摸滑动事件...)状态变化事件.这类事件用于描述一个或多个触点,使开发者可以检测触点移动,触点增加和减少,比如多少个手指在点击....,手机也能拖动元素,我们现在要学习一下: 但是我们还要注意,触摸滑动是有默认屏幕滚动,就是说本来我只想拖动盒子,但是 整个页面都滚动起来了....接下来做移动轮播图案例: 先搭建结构,虽然用是以前携程案例,但我还是单独页面中写吧,不然很麻烦....接下来就是手指滑动轮播图部分: 移动也做好了,但是我们平常手机里轮播图滑动效果并不是这样,而是当我们滑动很小距离,图片会回弹回去,滑动距离大了才会下一张,所以我们要根据moveX

2.6K20

吃透移动端 H5 与 Hybrid|实践踩坑12种问题汇总

由于篇幅原因,某些非核心解决方案实现细节暂未谈论,需要自行研究。 iOS 滑动不流畅 表现 上下滑动页面会产生卡顿,手指离开页面,页面立即停止运动。整体表现就是滑动不流畅,没有滑动惯性。...-webkit-overflow-scrolling: touch; /* 当手指触摸屏上移开,会保持一段时间滚动 */ -webkit-overflow-scrolling: auto; /*...当手指触摸屏上移开,滚动立即停止 */ 解决方案 1.滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling 值设置为 touch .wrapper {...产生原因 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。这个事件触发对象是整个 webview 容器,容器自然会被拖动,剩下部分会成空白。 解决方案 1....监听事件禁止滑动 移动触摸事件有三个,分别定义为 1. touchstart :手指放在一个DOM元素上。 2. touchmove :手指拖曳一个DOM元素。

2.1K20

「JavaScript 」动画基础 - 03

可以实现拖动元素 但是拖动元素需要当前手指坐标值 我们可以使用 targetTouches[0] 里面的pageX 和 pageY 移动拖动原理: 手指移动中,计算出手指移动距离。...然后用盒子原来位置 + 手指移动距离 手指移动距离: 手指滑动中位置 减去 手指刚开始触摸位置 拖动元素三步曲: 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...注意: 手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动 e.preventDefault(); 1.2. 移动端常见特效 1.2.1 案例: 移动轮播图 移动端轮播图功能和基本PC端一致。...触摸元素touchstart: 获取手指初始坐标 移动手指touchmove: 计算手指滑动距离,并且移动盒子 离开手指touchend: 根据滑动距离分不同情况 如果移动距离小于某个像素...false; ul.addEventListener('touchstart', function(e) { startX = e.targetTouches[0].pageX; // 手指触摸时候就停止定时器

1.2K20

吃透移动端 H5 与 Hybrid|实践踩坑12种问题汇总

由于篇幅原因,某些非核心解决方案实现细节暂未谈论,需要自行研究。 iOS 滑动不流畅 表现 上下滑动页面会产生卡顿,手指离开页面,页面立即停止运动。整体表现就是滑动不流畅,没有滑动惯性。...-webkit-overflow-scrolling: touch; /* 当手指触摸屏上移开,会保持一段时间滚动 */ -webkit-overflow-scrolling: auto; /*...当手指触摸屏上移开,滚动立即停止 */ 解决方案 1.滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling 值设置为 touch .wrapper {...产生原因 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。这个事件触发对象是整个 webview 容器,容器自然会被拖动,剩下部分会成空白。 解决方案 1....监听事件禁止滑动 移动触摸事件有三个,分别定义为 1. touchstart :手指放在一个DOM元素上。 2. touchmove :手指拖曳一个DOM元素。

1.2K30

移动端轮播图笔记

触屏事件可以相应用户手指屏幕或者触控板操作 常见触屏事件: 1.touchstart:手指触摸到一个DOM元素触发 2.touchmove:手指在一个DOM元素上滑动触发 3.touchend:...手指从一个DOM元素上移开触发 1.2触摸事件对象(TochEvent) TouchEvent是一类描述手指触摸平面(触摸屏、触摸板等)状态变化事件。...pageX和pageY 3.移动拖动原理:手指移动中,计算出手指移动距离。...然后用盒子原来位置+手指移动距离 4.手指移动距离:手指滑动中位置减去手指刚开始触摸位置 拖动元素三部曲: (1)触摸元素touchstart:获取手指初始坐标,同时获得盒子原来位置...(2)移动手指touchmove:计算手指滑动距离,并且移动盒子 (3)离开手指touchend 注意:手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动e.preventDefault

2.5K21
领券