直接上代码了!
<template>
<view class="container" @touchstart="touchStart" @touchend="touchEnd">
</view>
</template>
<script>
export default {
data() {
return {
touchStartX: 0,
touchStartY: 0
}
},
onLoad() {},
methods: {
// 触摸开始
touchStart(e) {
console.log("触摸开始--->>")
this.touchStartX = e.touches[0].clientX;
this.touchStartY = e.touches[0].clientY;
},
// 触摸开始
touchEnd(e) {
console.log("触摸结束-->>")
let deltaX = e.changedTouches[0].clientX - this.touchStartX;
let deltaY = e.changedTouches[0].clientY - this.touchStartY;
if (Math.abs(deltaX) > 50 && Math.abs(deltaX) > Math.abs(deltaY)) {
if (deltaX >= 0) {
console.log("右滑 上一页")
} else {
console.log("左滑 下一页")
}
} else if (Math.abs(deltaY) > 50 && Math.abs(deltaX) < Math.abs(deltaY)) {
if (deltaY < 0) {
console.log("上滑")
} else {
console.log("下滑")
}
} else {
console.log("可能是误触!")
}
}
}
}
</script>
<style scoped>
.container {
width: 100%;
height: 100%;
background-color: #ccc;
}
</style>