uniapp监听页面左右滑动事件

441 阅读1分钟
1. 添加需要监听滑动事件的元素

在你的页面中,添加需要监听滑动事件的元素。这可以是一个 viewswiper 或其他组件,取决于你的需求。例如:

<template>
  <view class="body" @touchstart="touchStart" @touchmove="touchMove" @touchend="touchEnd">
    <!-- 页面内容 -->
  </view>
</template>
2. 编写事件处理逻辑

在页面的 <script> 部分,编写事件处理逻辑。我们将使用 @touchstart 事件记录触摸起始点的横坐标,@touchmove 事件计算滑动距离,并根据距离判断滑动方向,最后使用 @touchend 事件清除触摸起始点的记录。

<script>
    export default {
        data() {
            return {
              startX: '', // 触摸起始点横坐标
            };
        },
        methods: {
            touchStart(event) {
              // 记录触摸起始点的横坐标
              this.startX = event.touches[0].clientX;
            },
            touchMove(event) {
              // 计算滑动距离
              const currentX = event.touches[0].clientX;
              const deltaX = currentX - this.startX;

              // 判断滑动方向
              if (deltaX > 50) {
                // 向右滑动逻辑   这里只建议写一些性能消耗小的逻辑,比如:this.status = !this.status 因为当他的横坐标大于或小于50时,每隔一个数字都会执行一次,所以...非常消化性能
                console.log('向右滑动逻辑')
              } else if (deltaX < -50) {
                // 向左滑动逻辑   这里只建议写一些性能消耗小的逻辑,比如:this.status = !this.status 因为当他的横坐标大于或小于50时,每隔一个数字都会执行一次,所以...非常消化性能
                console.log('向左滑动逻辑')
              }
            },
            touchEnd() {
              // 清除触摸起始点记录,这里也可以写一些比较复杂的逻辑,每滑动一次松后执行。
            },
        },
    };
</script>

参考链接:blog.csdn.net/m0_72603435…