Skip to content

Commit f2fbba2

Browse files
committed
Merge pull request #226 from sergiovilar/master
Fixed infinite-scroll-immediate-check behavior
2 parents 03bac29 + 68c505d commit f2fbba2

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

build/ng-infinite-scroll.js

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* ng-infinite-scroll - v1.2.0 - 2015-02-14 */
1+
/* ng-infinite-scroll - v1.2.0 - 2015-12-02 */
22
var mod;
33

44
mod = angular.module('infinite-scroll', []);
@@ -17,7 +17,7 @@ mod.directive('infiniteScroll', [
1717
infiniteScrollListenForEvent: '@'
1818
},
1919
link: function(scope, elem, attrs) {
20-
var changeContainer, checkWhenEnabled, container, handleInfiniteScrollContainer, handleInfiniteScrollDisabled, handleInfiniteScrollDistance, handleInfiniteScrollUseDocumentBottom, handler, height, immediateCheck, offsetTop, pageYOffset, scrollDistance, scrollEnabled, throttle, unregisterEventListener, useDocumentBottom, windowElement;
20+
var changeContainer, checkInterval, checkWhenEnabled, container, handleInfiniteScrollContainer, handleInfiniteScrollDisabled, handleInfiniteScrollDistance, handleInfiniteScrollUseDocumentBottom, handler, height, immediateCheck, offsetTop, pageYOffset, scrollDistance, scrollEnabled, throttle, unregisterEventListener, useDocumentBottom, windowElement;
2121
windowElement = angular.element($window);
2222
scrollDistance = null;
2323
scrollEnabled = null;
@@ -26,6 +26,7 @@ mod.directive('infiniteScroll', [
2626
immediateCheck = true;
2727
useDocumentBottom = false;
2828
unregisterEventListener = null;
29+
checkInterval = false;
2930
height = function(elem) {
3031
elem = elem[0] || elem;
3132
if (isNaN(elem.offsetHeight)) {
@@ -76,6 +77,9 @@ mod.directive('infiniteScroll', [
7677
}
7778
}
7879
} else {
80+
if (checkInterval) {
81+
$interval.cancel(checkInterval);
82+
}
7983
return checkWhenEnabled = false;
8084
}
8185
};
@@ -175,11 +179,11 @@ mod.directive('infiniteScroll', [
175179
if (attrs.infiniteScrollImmediateCheck != null) {
176180
immediateCheck = scope.$eval(attrs.infiniteScrollImmediateCheck);
177181
}
178-
return $interval((function() {
182+
return checkInterval = $interval((function() {
179183
if (immediateCheck) {
180184
return handler();
181185
}
182-
}), 0, 1);
186+
}), 0);
183187
}
184188
};
185189
}

build/ng-infinite-scroll.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/infinite-scroll.coffee

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ mod.directive 'infiniteScroll', ['$rootScope', '$window', '$interval', 'THROTTLE
2222
immediateCheck = true
2323
useDocumentBottom = false
2424
unregisterEventListener = null
25+
checkInterval = false
2526

2627
height = (elem) ->
2728
elem = elem[0] or elem
@@ -71,6 +72,7 @@ mod.directive 'infiniteScroll', ['$rootScope', '$window', '$interval', 'THROTTLE
7172
else
7273
scope.$apply(scope.infiniteScroll)
7374
else
75+
if checkInterval then $interval.cancel checkInterval
7476
checkWhenEnabled = false
7577

7678
# The optional THROTTLE_MILLISECONDS configuration value specifies
@@ -198,8 +200,8 @@ mod.directive 'infiniteScroll', ['$rootScope', '$window', '$interval', 'THROTTLE
198200
if attrs.infiniteScrollImmediateCheck?
199201
immediateCheck = scope.$eval(attrs.infiniteScrollImmediateCheck)
200202

201-
$interval (->
203+
checkInterval = $interval (->
202204
if immediateCheck
203205
handler()
204-
), 0, 1
206+
), 0
205207
]

0 commit comments

Comments
 (0)