Vue3记录一个简易微信右滑逻辑的思路(二)

简介: Vue3记录一个简易微信右滑逻辑的思路

image.png

这里还是重点注意理解滚动这两个字。因为这是和clientX最为核心的不同。

由于我自己这个页面展示不出来,所以我截取了MDN的一个页面作为例子。

image.png

这是最开始的界面,这里可以看出来,我们的pageXpageY是和我们的clientXclienY一摸一样的,因为起点都是页面的左上角,页面还未发生滚动。

但是一旦我们向下滚动了一段距离,假设我们向下滚动了200px

这时候我们的pageY的起点仍是我们之前页面的起点,而不仅仅是上面的红线距离了!也就是实际的pageY就等于红线距离+200px(因为我们没有向X轴偏移,pageX则还是原来的值)。

如果你看懂了clientY,其实你也能知道,此时pageY=clientY+200px

image.png

  1. screenXscreenY

这两个属性在日常开发基本上不会用到,在这里简单做一下介绍。

image.png

用图来表示就是如下。

image.png

当我屏幕变大时:

image.png

  1. ok,相关的前置知识我们已经了解。在这里就可以拿到用户点击时的clientX的值,作为标记。

image.png

image.png

四.设计touchend函数


image.png

先放总代码,然后我们一步一步讲解。

  1. 首先我们要获取到用户触摸的具体div。因为最终也是它要滑动的。

image.png

  1. 然后和touchStart事件一样,当用户触摸松手的时候,也会记录一个数组数据changedTouches

image.png

image.png

很简单就可以明白,touchStartX-touchEndX不就可以得出用户到底滑动了多少距离吗?

  1. 我们这里需要一个阀值,作用就是用来看看用户此次触摸到底是否真正要向左滑动,调出删除按钮进行操作呢?说人话就是,说不定用户只是轻轻点了一下屏幕呢?

所以在这里就需要简单的判断,用户移动的距离是否大于我们规定的阀值,如果大于,那么判定用户是进行了这个操作,如果不是,则忽略此次滑动事件。

image.png

  1. 进行判断并且进行操作

image.png

上面只是为了实现功能而直接操作了dom,我们可以更优雅的解决这个移动问题,需要读者带入自己的思考去实现。

5.加上过度动画

image.png

成功实现喽~

image.png

image.png

思考题

image.png

我的delBtnInitMoveDistance的意思是,删除按钮最开始移动的距离,你可以告诉我这样计算得出的值是什么吗?为什么可以优化代码吗?

tips:关于clientWidthoffsetWidth的讲解,我的上一篇博客有详解哦i~

相关文章
|
7月前
|
小程序 JavaScript 前端开发
【微信小程序】--WXML & WXSS & JS 逻辑交互介绍(四)
【微信小程序】--WXML & WXSS & JS 逻辑交互介绍(四)
|
7月前
|
存储 小程序 前端开发
uniapp微信小程序不强制登陆的逻辑(模仿大厂登陆)
uniapp微信小程序不强制登陆的逻辑(模仿大厂登陆)
229 0
|
JavaScript 小程序 前端开发
微信小程序|逻辑判断
微信小程序|逻辑判断
168 0
|
开发工具
微信小游戏开发实战5-重复执行和逻辑循环的区别
本篇主要内容包括了解帧的概念,以及理解重复执行和逻辑循环这两种循环积木块之间的区别。 如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
117 0
|
JavaScript 开发者
Vue3记录一个简易微信右滑逻辑的思路(一)
Vue3记录一个简易微信右滑逻辑的思路
Vue3记录一个简易微信右滑逻辑的思路(一)
|
小程序
微信公众号关注或取关后再处理我们自己的业务逻辑
在做微信小程序或公众号开发的有时候,难免会遇到需要在用户关注或取关公众号后处理业务逻辑的需求,只需要几步就可以搞定。
164 0
微信公众号关注或取关后再处理我们自己的业务逻辑
|
小程序
微信小程序代码逻辑复用(二)—— 解决方案
微信小程序代码逻辑复用(二)—— 解决方案
680 0
微信小程序代码逻辑复用(二)—— 解决方案
|
开发工具
微信小游戏开发实战5-重复执行和逻辑循环的区别
**这是小蚂蚁游戏开发公众号原创的第40篇。 本篇主要内容包括了解帧的概念,以及理解重复执行和逻辑循环这两种循环积木块之间的区别。
140 0
微信小游戏开发实战5-重复执行和逻辑循环的区别
|
前端开发 安全 开发者
微信中微信授权逻辑
开篇我先吐槽一下微信开发者的文档,千年不更新。 文档中写的拒绝和允许都会触发回调,然后我测试拒绝的时候就不会触发回调。
420 0
微信中微信授权逻辑
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
729 7