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

js-触屏滑动判断滑动方向(移动版)

时间:2017-10-31 16:52:53      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:移动版   event   startx   art   def   cas   default   滑动   function   

var startx, starty;
//获得角度
function getAngle(angx, angy) {
     return Math.atan2(angy, angx) * 180 / Math.PI;
};

//根据起点终点返回方向 1向上 2向下 3向左 4向右 0未滑动
function getDirection(startx, starty, endx, endy) {
    var angx = endx - startx;
    var angy = endy - starty;
    var result = 0;

//如果滑动距离太短
if(Math.abs(angx) < 2 && Math.abs(angy) < 2) {
    return result;
}

var angle = getAngle(angx, angy);
     if(angle >= -135 && angle <= -45) {
     result = 1;
} else if(angle > 45 && angle < 135) {
     result = 2;
} else if((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
    result = 3;
} else if(angle >= -45 && angle <= 45) {
   result = 4;
}

return result;
}
//手指接触屏幕
document.addEventListener("touchstart", function(e) {
   startx = e.touches[0].pageX;
   starty = e.touches[0].pageY;
}, false);
//手指离开屏幕
document.addEventListener("touchend", function(e) {
   var endx, endy;
   endx = e.changedTouches[0].pageX;
   endy = e.changedTouches[0].pageY;
   var direction = getDirection(startx, starty, endx, endy);
   switch(direction) {
       case 0:
            alert("未滑动!");
            break;
      case 1:
            alert("向上!")
            break;
      case 2:
            alert("向下!")
            break;
      case 3:
            alert("向左!")
            break;
      case 4:
            alert("向右!")
            break;
     default:
    }
}, false);

js-触屏滑动判断滑动方向(移动版)

标签:移动版   event   startx   art   def   cas   default   滑动   function   

原文地址:http://www.cnblogs.com/liuqingxia/p/7762009.html

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