Повернуть изображение, пока идет сканирование, используя угловые ng-swipe-left и ng-swipe-right

Я использую angular'sng-swipe-left а также ng-swipe-right поймать свайп событие (на связи). Я пытаюсь сделать так, чтобы изображение вращалось в соответствии со скоростью и направлением перелистывания, пока оно выполняется. Проблема в том, что я могу поймать событие только после окончания свайпа.

1 ответ

Решение

Вы должны слушать стартовое событие. Он вызывается на mousedown или touchstar. Но ваша проблема заключается в следующем: после события start $swipe отслеживает события touchmove или mousemove, которые все еще игнорируются, пока общее расстояние, пройденное в любом измерении, не превысит небольшой порог.

Как только этот порог превышен, создается событие перемещения.

Таким образом, вы должны добавить слушателя на событие перемещения, что невозможно только с Angularjs.

Я думаю, что вы должны использовать что-нибудь с JQuery следующим образом:

$('#someElm').bind('touchmove',function(e){
      e.preventDefault();
      var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
      var elm = $(this).offset();
      var x = touch.pageX - elm.left;
      var y = touch.pageY - elm.top;
      if(x < $(this).width() && x > 0){
          if(y < $(this).height() && y > 0){
                  //CODE GOES HERE
                  console.log(touch.pageY+' '+touch.pageX);
          }
      }
});

Угловая документация по этому вопросу: AngularJS API: $swipe

Другие вопросы по тегам