监听页面左右/上下滑动事件

11 篇文章 0 订阅
5 篇文章 0 订阅

监听页面左右/上下滑动事件

<template>
	<view @touchstart="touchstart" @touchmove="touchmove" @touchend="touchend" class="touch">
		上下/左右 滑动
	</view>
</template>
<script>
	export default {
		data() {
			return {		
				/* 移动所需参数 */
				startX: 0,
				startY: 0,
				endX: 0,
				endY: 0,
				isStatus: false,
			}
		},
		methods: {
			/* 监听滑动开始 */
			touchstart(e) {
				e.preventDefault();
				this.startX = e.touches[0].pageX;
				this.startY = e.touches[0].pageY;
			},
			/* 监听滑动移动 */
			touchmove(e) {
				this.isStatus= true;
				this.endX = e.touches[0].pageX;
				this.endY = e.touches[0].pageY;
			},
			/* 监听滑动结束 */
			touchend(e) {
				/* 判断移动方向 */
				let X = this.endX - this.startX,
					Y = this.endY - this.startY;
				/* 判断是否移动还是点击 */
				if (this.isStatus) {
					if (X > 0 && Math.abs(X) > Math.abs(Y)) {
						//向右
					} else if (X < 0 && Math.abs(X) > Math.abs(Y)) {
						//向左
					} else if (Y > 0 && Math.abs(Y) > Math.abs(X)) {
						//向下
					} else if (Y < 0 && Math.abs(Y) > Math.abs(X)) {
						//向上
					} else {
					}
				} else {
				}
			},
		}
	}
</script>
 
<style scoped lang="less">
	.touch {
		width: 100vw;
	   height: 100vh;
	}
</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值