0

寻找一种使用 TOUCHEND、TOUCHSTART 事件的方法来允许用户使用滑动手势滚动页面。我不知道如何确定方向(例如获取 TOUCHEND 和 TOUCHSTART 点的坐标以确定方向)。

4

1 回答 1

2

从概念上讲,您可以这样做:

  1. 为 touchstart 和 touchend 注册事件处理程序。
  2. 在 touchstart 上,您将特定手指的 x 和 y 坐标存储在持久变量中。
  3. 在 touchend 上,您将 x 和 y 坐标与之前保存的值进行比较。
  4. 如果 Math.abs(deltaX) 大于某个最小阈值且 Math.abs(deltaX) > Math.abs(deltaY),则手势为左/右。如果 xEnd 大于 xBegin,则您从左向右移动,否则从右向左移动。
  5. 如果 Math.abs(deltaY) 大于某个最小阈值并且 Math.abs(deltaY) > Math.abs(deltaX),则运动向上/向下。如果 yEnd > yBegin,则向下,否则向上。
  6. 如果两个方向都没有超过最小阈值,则手势不足以表示滑动手势。

有关触摸事件数据的信息,请参见MDN 上的此处。MDN 总是我寻找这类东西的第一个地方。

于 2012-09-25T02:16:56.400 回答