微信小程序实现左右滑动进行切换数据页面(touchmove)

这篇具有很好参考价值的文章主要介绍了微信小程序实现左右滑动进行切换数据页面(touchmove)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🚴场景

手指触摸左右滑动进行切换数据
需要实现的是有一个tab栏,点选某一个tab的时候切换页面,手势滑动,左滑右滑效果和点击tab一样切换页面数据。

微信小程序实现左右滑动进行切换数据页面(touchmove)

🥇事件的属性方法

这里我们要先了解几个微信的事件属性

  • touchstart : 手指触摸动作开始
  • touchmove:手指触摸后移动
  • touchcancel:手指触摸动作被打断,如来电提醒,弹窗
  • touchend: 手指触摸动作结束
  • tap: 手指触摸后马上离开
  • longpress: 手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发
  • transitionend: 会在 WXSS transition 或 wx.createAnimation 动画结束后触发
  • animationstart:会在一个 WXSS animation 动画开始时触发
  • animationend: 会在一个 WXSS animation 动画完成时触发

从以上属性分析 我们需要完成 左右滑动的功能需要用到:
@touchmove、@touchstart、@touchend

🥈实战左右滑动

HTML

亿点小知识:当手指从屏幕上离开的时候触发 "capture" 用于事件捕获

<view
	@touchmove.capture="handleTouchmove"
	@touchstart.capture="handleTouchstart"
	@touchend.capture="handleTouchend"
	style="height:100vh"
>
</view>

js
先从手指开始 @touchstart 默认属性 event 中获取滑动的 pageX和pageY值

handleTouchstart(event) {
			this.flag = 0;
			this.lastX = event.changedTouches[0].pageX;
			this.lastY = event.changedTouches[0].pageY;
},

然后在判断 touchmove:手指触摸后移动中的距离

这里的 Math abs(x)方法返回指定值的绝对值。
返回值: Number x 的绝对值。如果 x 不是数字返回 NaN,如果 x 为 null 返回 0。
如果x = -2 那么返回值就是 2

handleTouchmove(event) {
			if (this.flag !== 0) {
				return;
			}
			let currentX = event.changedTouches[0].pageX;
			let currentY = event.changedTouches[0].pageY;
			let tx = currentX - this.lastX;
			let ty = currentY - this.lastY;
			//左右方向偏移大于上下偏移认为是左右滑动
			if (Math.abs(tx) - Math.abs(ty) > 5) {
				// 向左滑动
				if (tx < 0) {
					// 如果到最右侧
					console.log('向左滑动');
					this.flag = 1;

				// 向右滑动()
				} else if (tx > 0) {
					// 如果到最左侧
					this.flag = 2;
					console.log('向右滑动');
				}
			}
			//上下方向滑动
			else {
				if (ty < 0) {
					//向上滑动
					this.flag = 3;
				} else if (ty > 0) {
					//向下滑动
					this.flag = 4;
				}
			}
			//将当前坐标进行保存以进行下一次计算
			this.lastX = currentX;
			this.lastY = currentY;
	},

最后结束动作touchend

handleTouchend() {
			//停止滑动
			this.flag = 0;
		},

这里的this.flag 是用来记录是否需要重新滑动 不然会导致滑动过程中会一直触发touchmove

🥉

微信小程序实现左右滑动进行切换数据页面(touchmove)
以上就是微信小程序实现左右滑动进行切换数据页面感谢大家的阅读
如碰到其他的问题 可以私下我 一起探讨学习
如果对你有所帮助还请 点赞 收藏谢谢~!
关注收藏博客 作者会持续更新…文章来源地址https://www.toymoban.com/news/detail-504004.html

到了这里,关于微信小程序实现左右滑动进行切换数据页面(touchmove)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序(二)微信小程序选择本地图片显示并预览(实现左右滑动)

    在微信小程序里面实现选择图片然后预览是一个非常普遍的功能,在我们上传图片文件的时候,都会选择本地的图片进行上传,在上传之前会查看一下自己上传的图片是否准确。所以要做到预览图片。 下面就实现一个简单的本地图片显示预览的功能~~ 1、创建页面 这里我直接

    2024年02月03日
    浏览(76)
  • 微信小程序实现滑动/点击切换Tab

    👏 swiper+scroll-view实现滑动/点击切换Tab,以及scroll-left的使用~ 🥇文末分享源代码。记得点赞+关注+收藏! 2.1 scroll-view实现tab列表 scroll-view: 可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px。 scroll-x(bool

    2024年01月19日
    浏览(114)
  • 微信小程序 左右滑动方法

    实现小程序左右滑动操作 wxml,在当前view层滑动操作 data数据

    2024年02月11日
    浏览(78)
  • 快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)

    微信小程序中的 tab 切换功能可以说是用户所需的一个基础功能。本文将介绍如何通过微信小程序实现 tab 切换功能,为用户带来更为便捷和高效的小程序体验。 其实这个小功能的实现非常简单,只需要通过一个标识控制选项的样式及显示的内容,当我们触发点击或者滑动事

    2024年02月11日
    浏览(83)
  • uniapp-微信小程序实现swiper左右滚动切换tab,上下滚动加载列表

    思路:左右滑动使用swiper,上下滑动用scroll-view,swiper改变时同时改变tab并更新列表 坑点: 1. swiper高度问题,导致滑动不到最底部和最顶部         需要手动计算,减去顶部高度和底部tabbar,并且需要同时设置padding-top和paddin-botton,否则列表显示不完整 2. 由于最开始的代码

    2024年02月04日
    浏览(64)
  • 【uniapp小程序】使用swiper实现页面内部左右滑动的切换

    具体效果:手指在页面左右滑动会切换tab  背景:项目里原有代码复制,去除一些功能,只留一个外壳,目的是为了以后套套套 代码: 注意:scroll-view标签内实现上来加载、下来刷新。因为现在页面用不到,所以并没有保留

    2024年02月12日
    浏览(58)
  • 解决微信小程序在IOS端会上下左右滑动的问题

    在开发微信小程序的时候发现在IOS端会出现上下左右都能滑动的情况,但是安卓端就不会出现这种情况,百度了一下好像IOS就是默认可以滑动,安卓默认不允许,本篇就这个问题解决一下,毕竟可以随意滑动视觉上不太美观 在外层的view设置overflow隐藏就好了,重新编译测试就

    2024年02月12日
    浏览(171)
  • 微信小程序选项卡切换(滑动切换,点击切换)

    效果如下:可点击切换,滑动切换 代码如下 这个可以在项目用 index.wxml index.wxss index.js

    2024年02月14日
    浏览(63)
  • 微信小程序、uniapp使用touchstart和touchmove左右滑动删除。以及解决上下抖动问题。

    展示效果图直接上代码 如果要修改里面内容直接从content这个类修改就行。 直接复制粘贴就行。拿上直接用。 如果遇到滑动会导致上下抖动用这个解决。给最外层得一个view标签加一个样式。 这样的话滑动会有阴影,但不会抖动,可以尝试一下看看,如果哪位能人能解决,就

    2024年02月11日
    浏览(139)
  • 微信小程序在ios端上下左右滑动以及底部滚动条的解决方案

    最近在写小程序,碰到一个非常棘手的问题,就是安卓没事,苹果手机上的页面能上下左右的滑动,不美观这里我理解为不兼容,本着有问题就去解决,苹果默认应该是滑动的,下面是解决方法 底部滚动条解决

    2024年02月04日
    浏览(151)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包