Skip to content

Commit

Permalink
Released 0.5.7.
Browse files Browse the repository at this point in the history
  • Loading branch information
oblador committed May 23, 2014
1 parent f5923ec commit 119697b
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 9 deletions.
15 changes: 10 additions & 5 deletions angular-scroll.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ angular.module('duScroll', [
'duScroll.smoothScroll',
'duScroll.scrollContainer',
'duScroll.scrollHelpers'
]).value('duScrollDuration', 350).value('duScrollEasing', duScrollDefaultEasing);
]).value('duScrollDuration', 350).value('duScrollGreedy', false).value('duScrollEasing', duScrollDefaultEasing);
angular.module('duScroll.scrollHelpers', []).run([
'$window',
'$q',
Expand Down Expand Up @@ -57,15 +57,17 @@ angular.module('duScroll.scrollHelpers', []).run([
easing = duScrollEasing;
}
var startLeft = this.scrollLeft(), startTop = this.scrollTop(), deltaLeft = Math.round(left - startLeft), deltaTop = Math.round(top - startTop);
if (!deltaLeft && !deltaTop)
return;
var startTime = null;
if (scrollAnimation) {
cancelAnimation(scrollAnimation);
deferred.reject();
}
var el = this;
deferred = $q.defer();
if (!deltaLeft && !deltaTop) {
deferred.resolve();
return deferred.promise;
}
var animationStep = function (timestamp) {
if (startTime === null) {
startTime = timestamp;
Expand All @@ -80,6 +82,8 @@ angular.module('duScroll.scrollHelpers', []).run([
deferred.resolve();
}
};
//Fix random mobile safari bug when scrolling to top by hitting status bar
el.scrollTo(startLeft, startTop);
scrollAnimation = requestAnimation(animationStep);
return deferred.promise;
};
Expand Down Expand Up @@ -181,7 +185,8 @@ angular.module('duScroll.requestAnimation', ['duScroll.polyfill']).factory('requ
angular.module('duScroll.spyAPI', ['duScroll.scrollContainerAPI']).factory('spyAPI', [
'$rootScope',
'scrollContainerAPI',
function ($rootScope, scrollContainerAPI) {
'duScrollGreedy',
function ($rootScope, scrollContainerAPI, duScrollGreedy) {
var createScrollHandler = function (context) {
return function () {
var container = context.container, containerEl = container[0], containerOffset = 0;
Expand Down Expand Up @@ -209,7 +214,7 @@ angular.module('duScroll.spyAPI', ['duScroll.scrollContainerAPI']).factory('spyA
if (toBeActive) {
toBeActive = toBeActive.spy;
}
if (currentlyActive === toBeActive)
if (currentlyActive === toBeActive || duScrollGreedy && !toBeActive)
return;
if (currentlyActive) {
currentlyActive.$element.removeClass('active');
Expand Down
2 changes: 1 addition & 1 deletion angular-scroll.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 119697b

Please sign in to comment.