Рассчитать расстояние пролистывания в jQuery-mobile - PullRequest
8 голосов
/ 03 августа 2011

Надеюсь, у вас все хорошо сегодня, я пытаюсь рассчитать расстояние (жест касания) на мобильном веб-сайте, как бы вы выяснили, сколько пикселей пользователь провел по экрану?

Ответы [ 3 ]

9 голосов
/ 12 ноября 2011

Я бы предложил отличный плагин jQuery TouchSwipe от Мэтта Брайсона: http://labs.skinkers.com/touchSwipe/.

Имеются события касания и пролистывания для 4 направлений и 1 или 2 пальцев. И он имеет SwipeStatus, с помощью которого вы можете получить расстояние пролистывания: http://labs.skinkers.com/touchSwipe/demo/Swipe_status.html

2 голосов
/ 29 августа 2012

Я не мог понять, как получить расстояние на лету от метода, поэтому вместо этого я просто установил новый глобальный порог на своей странице.

//Override the default horizontalDistanceThreshold of 30
$.event.special.swipe.horizontalDistanceThreshold = 200;

Я использую старую версиюjQM (v1.0 все еще ...), так что это, возможно, изменилось.Это легко найти в источнике, если вы только начинаете искать события смахивания.

2 голосов
/ 04 августа 2011

Не уверен, поможет ли это, но с бета-версией 2 они выпустили некоторые дополнительные функции смахивания

Добавлены настраиваемые пороги событий смахивания

Было несколько жестко закодированных констант в jquery.mobile.event.js код смахивания. Для разработчиков, которым нужно настроить эти константы, чтобы позволить большее вертикальное смещение и еще зарегистрируйте пролистывание, эта новая функция позволяет их настраивать. Спасибо Млитвину за помощь.

  • scrollSupressionThreshold (по умолчанию: 10 пикселей) - больше, чем это горизонтальное смещение, и мы будем подавлять прокрутку
  • durationThreshold (по умолчанию: 1000 мс) - больше времени, чем это, и это не удар
  • horizontalDistanceThreshold (по умолчанию: 30px) - Размах по горизонтали смещение должно быть больше, чем это.
  • verticalDistanceThreshold (по умолчанию: 75 пикселей) - вертикальное смещение смахивания должно быть меньше этого значения.
...