旋转图像时,滑动正在进行中,使用角向左滑动和向右滑动

rotate image while swipe is in progress using angular ng-swipe-left and ng-swipe-right

本文关键字:图像 旋转 进行中      更新时间:2023-09-26

我使用angular's ng-swipe-leftng-swipe-right来捕捉滑动事件(接触)。我试图使图像旋转根据滑动速度和方向,而滑动是在进行中。问题是,我只能在滑动结束时捕获事件。

您必须收听start事件。它在鼠标按下或触星时被调用。但是你的问题是:在start事件之后,$swipe正在观察touchmove或mousemove事件,这些事件仍然被忽略,直到在任何一个维度移动的总距离超过一个小阈值。

一旦超过这个阈值,就会创建move事件。

所以你必须在move事件上添加一个监听器,这在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