判断手指在手机上左滑还是右滑

上篇博客我描述了手机的touch事件有touchstart,touchmove,touchend事件,然后在实际开发中,我们常常需要判断手指是左滑还是右滑了,最近我就接到了这个需求,左右滑切换数据,那么应该怎么做呢?

大概的思路是:

1.获取touchstart的开始的X坐标和Y坐标:

x1=event.targetTouches[0].pageX;
y1=event.targetTouches[0].pageY;

2.获取touchmove时的X、Y坐标;

x2 = event.targetTouches[0].pageX;
y2 = event.targetTouches[0].pageY;

3.在touchend时判断滑动方向

var changeY = x2-x1;
var changeX = y2-y1;
if(Math.abs(changeX)>Math.abs(changeY)&&Math.abs(changeY)>5){
  //左右事件
   if(changeX > 0) {
     alert("右滑");
   }else{
      alert("左滑");
   }
}else if(Math.abs(changeY)>Math.abs(changeX)&&Math.abs(changeX)>defaults.x){ //上下事件 if(changeY > 0) { alert("下滑"); }else{ alert("上滑"); } }else{ alert("点击"); }

  

   

posted @ 2016-12-15 09:37  星星眨眼  阅读(2704)  评论(0编辑  收藏  举报