微信小程序 检测手势 左滑 右滑

wxml

<!--pages/test/test.wxml-->
<view class="container" style="height:{{containerHeight}}px" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd">
  嘎嘎嘎嘎
</view>

js

// pages/test/test.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    startX: 0, // 初始触摸点的X坐标
    startY: 0, // 初始触摸点的Y坐标
    endX: 0, // 结束触摸点的X坐标
    endY: 0, // 结束触摸点的Y坐标
    containerHeight: wx.getSystemInfoSync().windowHeight,
  },
  touchStart(e) {
    this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY
    });
  },

  touchMove(e) {
    this.setData({
      endX: e.changedTouches[0].clientX,
      endY: e.changedTouches[0].clientY
    });
  },

  touchEnd() {
    const {
      startX,
      endX,
      startY,
      endY
    } = this.data;
    const deltaX = endX - startX;
    const deltaY = endY - startY;

    if (Math.abs(deltaX) > Math.abs(deltaY) && Math.abs(deltaX) > 50) {
      if (deltaX > 0) {
        // 右滑
      } else {
        // 左滑
      }
    }
    // 清空 startX、endX、startY 和 endY
    this.setData({
      startX: 0,
      endX: 0,
      startY: 0,
      endY: 0
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

这个稳

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值