diff --git a/dist/angular-sticky-box.js b/dist/angular-sticky-box.js index 22efdd8..9f85ff8 100644 --- a/dist/angular-sticky-box.js +++ b/dist/angular-sticky-box.js @@ -163,7 +163,7 @@ angular.module('angular-sticky-box', []).directive('stickyBox', ['$timeout', fun }); }); angular.element(window).on('scroll', function() { - scroll(scope, el); + setup(scope, el); }); scope.$on('stickyBoxUpdate', function() { diff --git a/dist/angular-sticky-box.min.js b/dist/angular-sticky-box.min.js index 2e3625c..4f0d76c 100644 --- a/dist/angular-sticky-box.min.js +++ b/dist/angular-sticky-box.min.js @@ -4,4 +4,4 @@ * Version: 0.0.1 - 2016-02-06T08:00:13.080Z * License: MIT */ -"use strict";angular.module("angular-sticky-box",[]).directive("stickyBox",["$timeout",function(e){function t(e,t){if(e.innerHeight=t.children[0].offsetHeight,e.innerHeight>=t.offsetHeight)return void(e.enabled=!1);e.enabled=!0;var a=t;for(e.wrapTop=t.offsetTop;a.offsetParent;)e.wrapTop+=a.offsetParent.offsetTop,a=a.offsetParent;e.wrapBottom=t.offsetHeight+e.wrapTop,o=window.innerHeight||document.documentElement.clientHeight,e.innerHeight>o?(e.sizeClass="sticky-inner-big",e.breaks=[{top:e.wrapBottom-o,className:"bottom",style:[["top",t.offsetHeight-e.innerHeight+"px"]]},{top:e.wrapTop-e.cfg.offset,className:"top",style:[["top","auto"]],up:function(e,t){e.pageYup=window.pageYOffset;var s=parseInt(t.children[0].style.bottom);e.pageYdown-window.pageYOffset<=e.innerHeight-o+e.cfg.offset?t.children[0].style.bottom=s+window.pageYOffset-e.pageY+"px":t.children[0].style.bottom=o-e.innerHeight-e.cfg.offset+"px"},down:function(e,t){e.pageYdown=window.pageYOffset,e.pageYup||(e.pageYup=e.pageY);var s=parseInt(t.children[0].style.bottom);isNaN(s)&&(s=o-e.innerHeight-e.cfg.offset),0>s?t.children[0].style.bottom=s+window.pageYOffset-e.pageY+"px":t.children[0].style.bottom="0px"}}],t.children[0].className=e.sizeClass+" "+e.posClass):(e.sizeClass="sticky-inner-small",e.breaks=[{top:e.wrapBottom-e.innerHeight-e.cfg.offset,className:"bottom",style:[["top",t.offsetHeight-e.innerHeight+"px"]]},{top:e.wrapTop-e.cfg.offset,className:"top",style:[["top",e.cfg.offset+"px"]]}],t.children[0].className=e.sizeClass+" "+e.posClass),t.children[0].style.width=t.offsetWidth+"px",s(e,t)}function s(e,t){if(e.enabled){window.pageYOffset+e.cfg.offset>e.wrapTop?-1==t.className.indexOf("sticky-fix")&&(t.className+=" sticky-fix"):-1!=t.className.indexOf(" sticky-fix")&&(t.className=t.className.replace(" sticky-fix",""));for(var s=!1,o=0;oe.breaks[o].top){if(e.posClass!=e.breaks[o].className){e.posClass=e.breaks[o].className;for(var a=0;ae.pageY?s.down&&s.down(e,t):s.up&&s.up(e,t):e.posClass="",e.pageY=window.pageYOffset,t.children[0].className=e.sizeClass+" "+e.posClass}}var o;return{restrict:"A",scope:{offset:"@stickyBoxOffset"},link:function(o,a){function n(){t(o,i)}var i=a[0];i.className+=" sticky-box",o.cfg={},o.offset?o.cfg.offset=parseInt(o.offset):o.cfg.offset=0,o.pageY=o.pageYup=o.pageYdown=window.pageYOffset,angular.element(window).on("resize",function(){e(function(){t(o,i)})}),angular.element(window).on("scroll",function(){s(o,i)}),o.$on("stickyBoxUpdate",function(){e(n,100)}),e(n,100)}}}]),angular.module("angular-sticky-box").run(["$templateCache",function(e){e.put("angular-sticky-box.html",'
The value is {{getValue()}}
')}]); \ No newline at end of file +"use strict";angular.module("angular-sticky-box",[]).directive("stickyBox",["$timeout",function(e){function t(e,t){if(e.innerHeight=t.children[0].offsetHeight,e.innerHeight>=t.offsetHeight)return void(e.enabled=!1);e.enabled=!0;var a=t;for(e.wrapTop=t.offsetTop;a.offsetParent;)e.wrapTop+=a.offsetParent.offsetTop,a=a.offsetParent;e.wrapBottom=t.offsetHeight+e.wrapTop,o=window.innerHeight||document.documentElement.clientHeight,e.innerHeight>o?(e.sizeClass="sticky-inner-big",e.breaks=[{top:e.wrapBottom-o,className:"bottom",style:[["top",t.offsetHeight-e.innerHeight+"px"]]},{top:e.wrapTop-e.cfg.offset,className:"top",style:[["top","auto"]],up:function(e,t){e.pageYup=window.pageYOffset;var s=parseInt(t.children[0].style.bottom);e.pageYdown-window.pageYOffset<=e.innerHeight-o+e.cfg.offset?t.children[0].style.bottom=s+window.pageYOffset-e.pageY+"px":t.children[0].style.bottom=o-e.innerHeight-e.cfg.offset+"px"},down:function(e,t){e.pageYdown=window.pageYOffset,e.pageYup||(e.pageYup=e.pageY);var s=parseInt(t.children[0].style.bottom);isNaN(s)&&(s=o-e.innerHeight-e.cfg.offset),0>s?t.children[0].style.bottom=s+window.pageYOffset-e.pageY+"px":t.children[0].style.bottom="0px"}}],t.children[0].className=e.sizeClass+" "+e.posClass):(e.sizeClass="sticky-inner-small",e.breaks=[{top:e.wrapBottom-e.innerHeight-e.cfg.offset,className:"bottom",style:[["top",t.offsetHeight-e.innerHeight+"px"]]},{top:e.wrapTop-e.cfg.offset,className:"top",style:[["top",e.cfg.offset+"px"]]}],t.children[0].className=e.sizeClass+" "+e.posClass),t.children[0].style.width=t.offsetWidth+"px",s(e,t)}function s(e,t){if(e.enabled){window.pageYOffset+e.cfg.offset>e.wrapTop?-1==t.className.indexOf("sticky-fix")&&(t.className+=" sticky-fix"):-1!=t.className.indexOf(" sticky-fix")&&(t.className=t.className.replace(" sticky-fix",""));for(var s=!1,o=0;oe.breaks[o].top){if(e.posClass!=e.breaks[o].className){e.posClass=e.breaks[o].className;for(var a=0;ae.pageY?s.down&&s.down(e,t):s.up&&s.up(e,t):e.posClass="",e.pageY=window.pageYOffset,t.children[0].className=e.sizeClass+" "+e.posClass}}var o;return{restrict:"A",scope:{offset:"@stickyBoxOffset"},link:function(o,a){function n(){t(o,i)}var i=a[0];i.className+=" sticky-box",o.cfg={},o.offset?o.cfg.offset=parseInt(o.offset):o.cfg.offset=0,o.pageY=o.pageYup=o.pageYdown=window.pageYOffset,angular.element(window).on("resize",function(){e(function(){t(o,i)})}),angular.element(window).on("scroll",function(){t(o,i)}),o.$on("stickyBoxUpdate",function(){e(n,100)}),e(n,100)}}}]),angular.module("angular-sticky-box").run(["$templateCache",function(e){e.put("angular-sticky-box.html",'
The value is {{getValue()}}
')}]); \ No newline at end of file diff --git a/src/angular-sticky-box.js b/src/angular-sticky-box.js index b35e963..5c1267c 100644 --- a/src/angular-sticky-box.js +++ b/src/angular-sticky-box.js @@ -155,7 +155,7 @@ angular.module('angular-sticky-box', []).directive('stickyBox', ['$timeout', fun }); }); angular.element(window).on('scroll', function() { - scroll(scope, el); + setup(scope, el); }); scope.$on('stickyBoxUpdate', function() {