码迷,mamicode.com
首页 > 移动开发 > 详细

移动端滑动方向判断

时间:2018-06-08 20:38:42      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:utf-8   height   就是   1.0   ack   eve   AC   fun   poi   

移动端滑动方向判断,主要是判断利用x,y轴方向的增量,哪个轴增的快,就是哪个方向。

在touchstart中获取初始点,startX, startY; 

在touchmove中获取移动点,moveX, moveY

计算两者的差 deltaX = moveX - startX;  deltaY = moveY - startY;

之后累加deltaX和deltaY:

distX += Math.abs(deltaX)
distY += Math.abs(deltaY)

if (distX > distY && deltaX > 0) {
console.log(‘右滑‘)
}
if (distX > distY && deltaX < 0) {
console.log(‘左滑‘)
}
if (distX < distY && deltaY < 0) {
console.log(‘上滑‘)
}
if (distX < distY && deltaY > 0) {
console.log(‘下滑‘)
}

思路就是这样,代码如下

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>滑动方向判断</title>
    <style>
     #box{
      width: 100%;
      height: 500px;
      background: orange;
     }
    </style>
  </head>
  <body>
    <div id="box"></div>
    <script>
      let startX,startY,moveX,moveY,deltaX,deltaY;
      let distX = 0
      let distY = 0
      let box = document.getElementById(‘box‘)
      box.addEventListener(‘touchstart‘, function(e) {
          let point = e.touches ? e.touches[0] : e
          startX = point.pageX
          startY = point.pageY
          distX = 0
          distY = 0
      })
      box.addEventListener(‘touchmove‘, function(e) {
          let point = e.touches ? e.touches[0] : e
          moveX = point.pageX
          moveY = point.pageY
          deltaX = moveX - startX
          deltaY = moveY - startY
          distX += Math.abs(deltaX)
          distY +=  Math.abs(deltaY)
          console.log(distX, distY)
          if (distX > distY && deltaX > 0) {
            console.log(‘右滑‘)
          } 
          if (distX > distY && deltaX < 0) {
            console.log(‘左滑‘)
          }
          if (distX < distY && deltaY < 0) {
            console.log(‘上滑‘)
          } 
          if (distX < distY && deltaY > 0) {
            console.log(‘下滑‘)
          }
      })
    </script>
  </body>
</html>

 

移动端滑动方向判断

标签:utf-8   height   就是   1.0   ack   eve   AC   fun   poi   

原文地址:https://www.cnblogs.com/lonfate/p/9157327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!