vue移动端判断手指在屏幕滑动方向

2022-04-15 0 1,047

vue移动端判断手指在屏幕滑动方向,供大家参考,具体内容如下

可以据此实现手指滑屏切换tab的功能,例如京东的订单页,这几个tab切换就可以利用这个实现

vue移动端判断手指在屏幕滑动方向

页面

<div
      @touchstart="handleTouchstart"
      @touchend="handleTouchend"
      class="slotWrap"
    >
//屏幕滑动
//手指按下屏幕
 handleTouchstart(event){
  this.startTime = Date.now()
  this.startX = event.changedTouches[0].clientX
  this.startY = event.changedTouches[0].clientY
},
//手指离开屏幕
handleTouchend(event){
  const endTime = Date.now()
  const endX = event.changedTouches[0].clientX
  const endY = event.changedTouches[0].clientY
  //判断按下的时长
  if(endTime - this.startTime >2000){
    return
  }
  //滑动的方向
  let direction = "";
  //先判断用户滑动的距离,是否合法,合法:判断滑动的方向 注意 距离要加上绝对值
  if(Math.abs(endX -this.startX)>10){
    //滑动方向
    if(Math.abs(endY -this.startY)>30){
      // console.log("y方向偏移太多,不让你滑了")
      return
    }else{
      direction = endX -this.startX >0?"right":"left"
    }
  }else{
    return
  }
  //用户做了合法的滑动操作
  // console.log('方向'+direction)
  if(direction==='left'){
    if(this.currents+1===this.list.length){
      return
    }else{
      this.currents++
      //触发事件
      this.$emit('getData')
    }
  }
  if(direction==='right'){
    if(this.currents===0){
      return
    }else{
      this.currents--
      //触发事件
      this.$emit('getData')
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持NICE源码。

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 JavaScript vue移动端判断手指在屏幕滑动方向 https://www.niceym.com/29285.html