计算页面移动距离——vue

    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);
  }

调用这个方法就可以获取页面的滑动距离,不过获取不到有惯性的那一部分。里面有好多个判断,,都是我自己根据距离做的一些事情,可以替换,不过里面的满足条件,关闭监听是整个方法的重点,要不然不用写这么麻烦的。


版权声明:本文为qq_37989076原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。