movii
7/7/2017 - 4:04 PM

笔记:移动端 touch 事件 - 模拟 swipe 的实现 - 2. 判定 swipe 方向

笔记:移动端 touch 事件 - 模拟 swipe 的实现 - 2. 判定 swipe 方向

// 判定 swipe 方向
let disX = endPos.x - startPos.x
  , absX = Math.abs(disX)
  , disY = endPos.y - startPos.y
  , absY = Math.abs(disY)
  // swipe direction
  , dir;

// 如果是横向的 swipe,比较 `endPos.x - startPos.x` 是否大于零?
//  向右 swipe : 向左 swipe; 
// 如果是纵向的 swipe,比较 `endPos.y - startPos.y` 是否大于零?
//  向下 swipe : 向上 swipe。
dir = absX > absY ? 
  ( disX > 0 ? 'swipe right' : 'swipe left') 
  : ( disY > 0 ? 'swipe down' : 'swipe up');