(function () { "use strict"; angular.module("shared") .service("scrollService", ["$document", "$q", function ($document, $q) { return { scrollToSelector: scrollToSelector, scrollToTopOfElement: scrollToTopOfElement, scrollToTopOfPage: scrollToTopOfPage }; function scrollToSelector(selector, duration, easing, complete) { var elmnt = angular.element(selector); return $q.when( angular.element($document[0].documentElement).animate({scrollTop: elmnt.offset().top}, duration, easing, complete) .promise()); } function scrollToTopOfElement(elementId, duration, easing, complete) { return scrollToSelector('#' + elementId, duration, easing, complete); } function scrollToTopOfPage(duration) { var elmnt = angular.element($document[0].body); return $q.when( angular.element($document[0].documentElement).animate({scrollTop: elmnt.offset().top}, duration) .promise()); } }]); })();