上篇博客我描述了手機的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("點擊"); }