diff --git a/angular-scroll.js b/angular-scroll.js index 2443b38..81d4bea 100644 --- a/angular-scroll.js +++ b/angular-scroll.js @@ -35,8 +35,8 @@ factory('scrollPosition', }; var observers = []; - var lastScrollY = getScrollY(); - var currentScrollY = 0; + var lastScrollY; + var currentScrollY; var executeCallbacks = function(){ currentScrollY = lastScrollY; @@ -54,13 +54,7 @@ factory('scrollPosition', } }; - angular.element($document).on('scroll', onScroll); - //Init - executeCallbacks(); - //Redo init after reflows and initial anchor jump - angular.element($window).on('load', function() { - $timeout(executeCallbacks, 10); - }); + angular.element($document).on('scroll', onScroll).triggerHandler('scroll'); var deprecationWarned = false; return { diff --git a/angular-scroll.min.js b/angular-scroll.min.js index ba70b91..ccb9839 100644 --- a/angular-scroll.min.js +++ b/angular-scroll.min.js @@ -1,2 +1,2 @@ -var duScrollDefaultEasing=function(a){return.5>a?Math.pow(2*a,2)/2:1-Math.pow(2*(1-a),2)/2};angular.module("duScroll",["duScroll.scroller","duScroll.scrollPosition","duScroll.scrollspy","duScroll.requestAnimation","duScroll.smoothScroll"]).value("duScrollDuration",1e3).value("duScrollEasing",duScrollDefaultEasing),angular.module("duScroll.requestAnimation",[]).factory("requestAnimation",["$window","$timeout",function(a,b){return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){b(a,1e3/60)}}]),angular.module("duScroll.scrollPosition",["duScroll.requestAnimation"]).factory("scrollPosition",["$document","$window","$rootScope","$timeout","requestAnimation",function(a,b,c,d,e){var f=function(){return b.scrollY||document.documentElement.scrollTop||document.body.scrollTop},g=function(){return b.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft},h=[],i=f(),j=0,k=function(){j=i,c.$emit("$duScrollChanged",j);for(var a=0;aj&&b(l)};l()}}function f(a,b,d){e(c.x()+(a||0),c.y()+(b||0),d)}function g(a,b,c){if(angular.isElement(a)&&(a=a[0]||a,a.getBoundingClientRect)){var d=a.getBoundingClientRect();f(0,d.top+(!b||isNaN(b)?0:-b),c)}}return{scrollTo:e,scrollToElement:g,scrollDelta:f}}]),angular.module("duScroll.smoothScroll",["duScroll.scroller"]).directive("duSmoothScroll",["scroller","duScrollDuration",function(a,b){return{link:function(c,d,e){var f=angular.element(d[0]);f.on("click",function(c){if(e.href&&-1!==e.href.indexOf("#")){var d=document.getElementById(e.href.replace(/.*(?=#[^\s]+$)/,"").substring(1));if(d&&d.getBoundingClientRect){c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault();var f=-(e.offset?parseInt(e.offset,10):0),g=e.duration?parseInt(e.duration,10):b,h=d.getBoundingClientRect();a.scrollDelta(0,h.top+(isNaN(f)?0:f),g)}}})}}}]),angular.module("duScroll.scrollspy",["duScroll.scrollPosition"]).directive("duScrollspy",["$rootScope","scrollPosition",function(a){function b(){for(var b,c,d,g=0;ga?Math.pow(2*a,2)/2:1-Math.pow(2*(1-a),2)/2};angular.module("duScroll",["duScroll.scroller","duScroll.scrollPosition","duScroll.scrollspy","duScroll.requestAnimation","duScroll.smoothScroll"]).value("duScrollDuration",1e3).value("duScrollEasing",duScrollDefaultEasing),angular.module("duScroll.requestAnimation",[]).factory("requestAnimation",["$window","$timeout",function(a,b){return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){b(a,1e3/60)}}]),angular.module("duScroll.scrollPosition",["duScroll.requestAnimation"]).factory("scrollPosition",["$document","$window","$rootScope","$timeout","requestAnimation",function(a,b,c,d,e){var f,g,h=function(){return b.scrollY||document.documentElement.scrollTop||document.body.scrollTop},i=function(){return b.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft},j=[],k=function(){g=f,c.$emit("$duScrollChanged",g);for(var a=0;aj&&b(l)};l()}}function f(a,b,d){e(c.x()+(a||0),c.y()+(b||0),d)}function g(a,b,c){if(angular.isElement(a)&&(a=a[0]||a,a.getBoundingClientRect)){var d=a.getBoundingClientRect();f(0,d.top+(!b||isNaN(b)?0:-b),c)}}return{scrollTo:e,scrollToElement:g,scrollDelta:f}}]),angular.module("duScroll.smoothScroll",["duScroll.scroller"]).directive("duSmoothScroll",["scroller","duScrollDuration",function(a,b){return{link:function(c,d,e){var f=angular.element(d[0]);f.on("click",function(c){if(e.href&&-1!==e.href.indexOf("#")){var d=document.getElementById(e.href.replace(/.*(?=#[^\s]+$)/,"").substring(1));if(d&&d.getBoundingClientRect){c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault();var f=-(e.offset?parseInt(e.offset,10):0),g=e.duration?parseInt(e.duration,10):b,h=d.getBoundingClientRect();a.scrollDelta(0,h.top+(isNaN(f)?0:f),g)}}})}}}]),angular.module("duScroll.scrollspy",["duScroll.scrollPosition"]).directive("duScrollspy",["$rootScope","scrollPosition",function(a){function b(){for(var b,c,d,g=0;g