小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 需求的场景描述(希望解决的问题)
在改变movable-view的x偏移且动画在执行的过程中,不希望用户的触摸干扰动画
- 希望提供的能力
组件内部实现movable-view组件的touchmove事件可以通过e.preventDefault()阻止生效
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
很简单的一个场景,movable-area 是整体的可滑动区域,但是在某些业务条件下要做到其中的 movable-view 不可以移动超过某些坐标(比如拼图、碰撞检测等),这时候完全没法阻止拖动。
搞那么多问题出来,还不如自己实现一套。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
什么意思?麻烦具体描述一下场景
有一个展现大量(数千计)图片的轮播需求,原生组件swiper大概最多只能同时渲染展示150左右的图片,因此模拟了一套移动视口的逻辑,视口只展示3张图片,自动播放/用户翻页动画完成时,更新视口包含的三张图片(模拟视口移动),发现swiper在视口图片发生变化时重新渲染组件会黑屏(WXML可以看到结构在但是没有渲染),猜测是不支持动态swiper-item。
随即更换到movable-view组件(用view组件实现在touchmove响应用户移动时,动画巨卡)以解决动画卡顿问题。整个一套逻辑基本交互都没问题,但是在用户touchend的时候,代码会通过计算用户位移来判断当前显示图片的切换(这时会有动画过程,类似于swiper组件用户在翻页手指抬起时的动画定位过程)以及视口图片的内容,此时希望动画不被用户干扰,否则无法定位当前激活图片是哪张。
大致场景如上,如果movable-view的touchmove事件的preventDefault能够生效(阻止用户触摸组件滚动),上述问题都可以解决
你的意思是,用户在 touchend 的时候,动画开始滑动。如果用户在动画滑动的时候再次 touchmove touchend 导致了定位困难吗? 这个问题是不是可以限制一下,当动画在移动的时候,touchend 事件函数就什么也不执行,你这个需求我们需要先评估下。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
很简单的一个场景,movable-area 是整体的可滑动区域,但是在某些业务条件下要做到其中的 movable-view 不可以移动超过某些坐标(比如拼图、碰撞检测等),这时候完全没法阻止拖动。
搞那么多问题出来,还不如自己实现一套。
什么意思?麻烦具体描述一下场景
有一个展现大量(数千计)图片的轮播需求,原生组件swiper大概最多只能同时渲染展示150左右的图片,因此模拟了一套移动视口的逻辑,视口只展示3张图片,自动播放/用户翻页动画完成时,更新视口包含的三张图片(模拟视口移动),发现swiper在视口图片发生变化时重新渲染组件会黑屏(WXML可以看到结构在但是没有渲染),猜测是不支持动态swiper-item。
随即更换到movable-view组件(用view组件实现在touchmove响应用户移动时,动画巨卡)以解决动画卡顿问题。整个一套逻辑基本交互都没问题,但是在用户touchend的时候,代码会通过计算用户位移来判断当前显示图片的切换(这时会有动画过程,类似于swiper组件用户在翻页手指抬起时的动画定位过程)以及视口图片的内容,此时希望动画不被用户干扰,否则无法定位当前激活图片是哪张。
大致场景如上,如果movable-view的touchmove事件的preventDefault能够生效(阻止用户触摸组件滚动),上述问题都可以解决
你的意思是,用户在 touchend 的时候,动画开始滑动。如果用户在动画滑动的时候再次 touchmove touchend 导致了定位困难吗? 这个问题是不是可以限制一下,当动画在移动的时候,touchend 事件函数就什么也不执行,你这个需求我们需要先评估下。