判断手指在手机上左滑还是右滑
上篇博客我描述了手机的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("点击"); }