PATH:
var
/
www
/
vhosts
/
lahuertaatomica.es
/
httpdocs
/
assets
/
plugins
/
jPanelMenu
/
docs
/
js
/
lib
/
Editing: jRespond.js
/*! jRespond.js v 0.9 | Author: Jeremy Fields [jeremy.fields@viget.com], 2013 | License: MIT */ /*! viewportSize | Author: Tyson Matanich, 2013 | License: MIT */ (function(win,doc,undefined) { 'use strict'; win.jRespond = function(breakpoints) { // array for registered functions var mediaListeners = []; // array that corresponds to mediaListeners and holds the current on/off state var mediaInit = []; // array of media query breakpoints; adjust as needed var mediaBreakpoints = breakpoints; // store the current breakpoint var curr = ''; // window resize event timer stuff var resizeTimer; var resizeW = 0; var resizeTmrFast = 100; var resizeTmrSlow = 500; var resizeTmrSpd = resizeTmrSlow; // send media to the mediaListeners array var addFunction = function(elm) { var brkpt = elm['breakpoint']; var entr = elm['enter'] || undefined; // add function to stack mediaListeners.push(elm); // add corresponding entry to mediaInit mediaInit.push(false); if (testForCurr(brkpt)) { if (entr !== undefined) { entr.call(); } mediaInit[(mediaListeners.length - 1)] = true; } }; // loops through all registered functions and determines what should be fired var cycleThrough = function() { var enterArray = []; var exitArray = []; for (var i = 0; i < mediaListeners.length; i++) { var brkpt = mediaListeners[i]['breakpoint']; var entr = mediaListeners[i]['enter'] || undefined; var exit = mediaListeners[i]['exit'] || undefined; if (brkpt === '*') { if (entr !== undefined) { enterArray.push(entr); } if (exit !== undefined) { exitArray.push(exit); } } else if (testForCurr(brkpt)) { if (entr !== undefined && !mediaInit[i]) { enterArray.push(entr); } mediaInit[i] = true; } else { if (exit !== undefined && mediaInit[i]) { exitArray.push(exit); } mediaInit[i] = false; } } // loop through exit functions to call for (var j = 0; j < exitArray.length; j++) { exitArray[j].call(); } // then loop through enter functions to call for (var k = 0; k < enterArray.length; k++) { enterArray[k].call(); } }; // checks for the correct breakpoint against the mediaBreakpoints list var returnBreakpoint = function(width) { var foundBrkpt = false; // look for existing breakpoint based on width for (var i = 0; i < mediaBreakpoints.length; i++) { // if registered breakpoint found, break out of loop if (width >= mediaBreakpoints[i]['enter'] && width <= mediaBreakpoints[i]['exit']) { foundBrkpt = true; break; } } // if breakpoint is found and it's not the current one if (foundBrkpt && curr !== mediaBreakpoints[i]['label']) { curr = mediaBreakpoints[i]['label']; // run the loop cycleThrough(); // or if no breakpoint applies } else if (!foundBrkpt && curr !== '') { curr = ''; // run the loop cycleThrough(); } }; // takes the breakpoint/s arguement from an object and tests it against the current state var testForCurr = function(elm) { // if there's an array of breakpoints if (typeof elm === 'object') { if (elm.join().indexOf(curr) >= 0) { return true; } // if the string is '*' then run at every breakpoint } else if (elm === '*') { return true; // or if it's a single breakpoint } else if (typeof elm === 'string') { if (curr === elm) { return true; } } }; // self-calling function that checks the browser width and delegates if it detects a change var checkResize = function() { // get current width var w = viewportSize.getWidth(); // if there is a change speed up the timer and fire the returnBreakpoint function if (w !== resizeW) { resizeTmrSpd = resizeTmrFast; returnBreakpoint(w); // otherwise keep on keepin' on } else { resizeTmrSpd = resizeTmrSlow; } resizeW = w; // calls itself on a setTimeout setTimeout(checkResize, resizeTmrSpd); }; checkResize(); // return return { addFunc: function(elm) { addFunction(elm); }, getBreakpoint: function() { return curr; } }; }; }(this,this.document)); /*! viewportSize | Author: Tyson Matanich, 2013 | License: MIT */ (function(n){n.viewportSize={},n.viewportSize.getHeight=function(){return t("Height")},n.viewportSize.getWidth=function(){return t("Width")};var t=function(t){var f,o=t.toLowerCase(),e=n.document,i=e.documentElement,r,u;return n["inner"+t]===undefined?f=i["client"+t]:n["inner"+t]!=i["client"+t]?(r=e.createElement("body"),r.id="vpw-test-b",r.style.cssText="overflow:scroll",u=e.createElement("div"),u.id="vpw-test-d",u.style.cssText="position:absolute;top:-1000px",u.innerHTML="<style>@media("+o+":"+i["client"+t]+"px){body#vpw-test-b div#vpw-test-d{"+o+":7px!important}}<\/style>",r.appendChild(u),i.insertBefore(r,e.head),f=u["offset"+t]==7?i["client"+t]:n["inner"+t],i.removeChild(r)):f=n["inner"+t],f}})(this);
SAVE
CANCEL