滑动
在移动端的上、下的移动与现实有很大的差距,分别分两种情况,如下图:
有三个事件:
- 手指按下:touchstart
- 手指移动:touchmove
- 手指抬起:touchend
(上滑与下滑相似)
1、判断手指按下时的位置(touchstart)
startX = event.touches[0].pageX;
startY = event.touches[0].pageY;
2、判断手指抬起时的位置(touchend)
endX = event.changedTouches[0].pageX
endY = event.changedTouches[0].pageY
3、右x,y轴的大小判断滑动的方向
//从起始位置到结束位置的XY轴
var X = endX - startX;
var Y = endY - startY;
var absX = Math.abs(X) > Math.abs(Y);
var absY = Math.abs(Y) > Math.abs(X);
4、分别判断,后调用函数
-
右滑:x > 0 && absx
-
左滑 : x < 0 && absx
-
上滑: x > 0 && absy
-
下滑: x < 0 && absy