-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathstickup.min.js
2 lines (2 loc) · 948 Bytes
/
stickup.min.js
1
2
/* stickup v1.0 | MIT | www.tcmulder.com */
!function(o){o.fn.stickup=function(){var n={init:function(t){n.doc=o(document),n.nav=t,n.navH=null,n.startUp=null,n.startDown=null,n.lastScrolled=0,n.timer=null,o(document).on("scroll",function(){clearTimeout(n.timer),n.timer=setTimeout(n.move,5)})},move:function(){n.docTop=n.doc.scrollTop(),n.navH=n.nav.height(),n.navTop=n.nav.offset().top,n.navBot=n.navTop+n.navH,n.docTop<n.lastScrolled?n.up():n.docTop>n.lastScrolled&&n.down(),n.lastScrolled=n.docTop},up:function(){null===n.startUp&&(n.startUp=n.docTop,n.docTop>n.navBot&&n.nav.css("top",n.startUp-n.navH-5),n.startDown=null),n.navTop>=n.docTop-2&&n.nav.css({top:"0",position:"fixed"})},down:function(){null===n.startDown&&("0px"==n.nav.css("top")&&n.nav.css("top",n.docTop),n.nav.css("position","absolute"),n.startDown=n.docTop,n.docTop>0?n.navBot<=n.docTop&&n.nav.css("top",n.docTop):n.nav.css("top",0),n.startUp=null)}};n.init(this)}}(jQuery);