diff --git a/js/angular/controller/slideBoxController.js b/js/angular/controller/slideBoxController.js index ec3fac5ef6..187a55f0ea 100644 --- a/js/angular/controller/slideBoxController.js +++ b/js/angular/controller/slideBoxController.js @@ -207,8 +207,9 @@ function(scope, element, $$ionicAttachDrag, $interval) { // Select a new slide if it's avaiable if (self.isInRange(nextIndex)) { + var distanceRemaining = (1 - Math.abs(percent)) * slidesParent.prop('offsetWidth'); var transitionDuration = Math.min( - slidesParent.prop('offsetWidth') / (velocity), + distanceRemaining / velocity, SLIDE_TRANSITION_DURATION ); self.select(nextIndex, transitionDuration); diff --git a/js/angular/service/attachDrag.js b/js/angular/service/attachDrag.js index b7482e545e..8de1853697 100644 --- a/js/angular/service/attachDrag.js +++ b/js/angular/service/attachDrag.js @@ -45,7 +45,7 @@ IonicModule var deltaY = dragState.startY - ev.gesture.center.pageY; var isVertical = ev.gesture.direction === 'up' || ev.gesture.direction === 'down'; - if (isVertical && Math.abs(deltaY) > Math.abs(deltaX)) { + if (isVertical && Math.abs(deltaY) > Math.abs(deltaX) * 2) { handleDragEnd(ev); return; }