listenTest() {
let a, b;
let d = 0;
function addEventstart() {
a = document.documentElement.scrollTop;
console.log("滑动起始点:", a);
}
function addEventend() {
b = document.documentElement.scrollTop;
console.log("滑动终点为:", b);
let c = b - a;
console.log("滑动距离为:" + c);
if (c > 200) {
document.body.click();
document.body.removeEventListener("touchstart", addEventstart);
document.body.removeEventListener("touchend", addEventend);
}
d = d + c;
if (d > 200 || d < -100) {
document.body.click();
document.body.removeEventListener("touchstart", addEventstart);
document.body.removeEventListener("touchend", addEventend);
}
console.log("滑动距离为之和为:" + d);
if (c < -100) {
document.body.click();
document.body.removeEventListener("touchstart", addEventstart);
document.body.removeEventListener("touchend", addEventend);
}
}
document.body.addEventListener("touchstart", addEventstart);
document.body.addEventListener("touchend", addEventend);
}
调用这个方法就可以获取页面的滑动距离,不过获取不到有惯性的那一部分。里面有好多个判断,,都是我自己根据距离做的一些事情,可以替换,不过里面的满足条件,关闭监听是整个方法的重点,要不然不用写这么麻烦的。