-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbreakpoints.min.js
1 lines (1 loc) · 1.46 KB
/
breakpoints.min.js
1
!function(i,n){"function"==typeof define&&define.amd?define(["jquery","raf"],n):n(jQuery)}(this,function(i){var n=this;n.breakpoints||(n.breakpoints={init:{},resize:{},event:"afterwindowresize",rafref:!1}),Breakpoints=function(){var i=this;this.add=function(t,e,a,r,o){o=!!o;var f=o?"init":"resize";if("object"!=typeof a&&(a=[a]),e&&a.length){var s=e.toString();n.breakpoints[f][s]||(n.breakpoints[f][s]={active:!1,width:e,min:[],max:[]});for(var c=0;c<a.length;c++)"function"==typeof a[c]&&n.breakpoints[f][s][t].push({callback:a[c],data:r});o&&n.breakpoints.initiated&&i.checkBreakpoints(!0),n.breakpoints.rafref||(n.breakpoints.rafref=n.raf.on(n.breakpoints.event,i.checkBreakpoints).ref)}},this.min=function(n,t,e){i.add("min",n,t,e)},this.max=function(n,t,e){i.add("max",n,t,e)},this.initial={min:function(n,t,e){i.add("min",n,t,e,!0)},max:function(n,t,e){i.add("max",n,t,e,!0)}},this.checkBreakpoints=function(i){i=i===!0;var t=n.breakpoints[i?"init":"resize"],e=n.innerWidth;for(var a in t){var r=t[a];if((i||!r.active)&&e<=r.width&&(r.active=!0,r.max.length))for(var o=0;o<r.max.length;o++)r.max[o].callback(r.max[o].data);if((i||r.active)&&e>r.width&&(r.active=!1,r.min.length))for(var o=0;o<r.min.length;o++)r.min[o].callback(r.min[o].data)}if(i){for(var a in t)n.breakpoints.resize[a]&&(n.breakpoints.resize[a].active=t[a].active);n.breakpoints.init=[],n.breakpoints.initiated=!0}}},i.breakpoints=new Breakpoints,i(document).ready(function(){i.breakpoints.checkBreakpoints(!0)})});