js判断h5页面滑动方向

问题背景

最近做了个h5页面,需要在页面中的一个固定区域向上滑动时加载数据

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var windowHeight = $(window).height();
$("body").css("height", windowHeight);
var startX, startY, moveEndX, moveEndY, X, Y;
$("body").on("touchstart", function(e) {
e.preventDefault();
startX = e.targetTouches[0].pageX;
startY = e.targetTouches[0].pageY;
});
$("body").on("touchmove", function(e) {
e.preventDefault();
moveEndX = e.targetTouches[0].pageX;
moveEndY = e.targetTouches[0].pageY;
X = moveEndX - startX;
Y = moveEndY - startY;
if (Math.abs(X) > Math.abs(Y) && X > 0) {
alert("left to right");
} else if (Math.abs(X) > Math.abs(Y) && X < 0) {
alert("right to left");
} else if (Math.abs(Y) > Math.abs(X) && Y > 0) {
alert("top to bottom");
} else if (Math.abs(Y) > Math.abs(X) && Y < 0) {
alert("bottom to top");
} else {
alert("just touch");
}
});