Note that there are some explanatory texts on larger screens.

plurals
  1. POIf / Else on Function
    primarykey
    data
    text
    <p>I am using Paul Hayes' CSS Transitions Media Query script and can not figure out how to do a simple if/else.</p> <p>Here is what I am going after:</p> <pre><code>mql('all and (max-width: 959px)', change); mql('all and (min-width: 960px)', change); function change(mql) { if(max-width: 959px) { console.log("Do this"); } else { console.log("Do that"); } } </code></pre> <p>Here is <code>mql</code> / paul's script:</p> <pre><code>mql = (function(doc, undefined) { var docElem = doc.documentElement, refNode = docElem.firstElementChild || docElem.firstChild, idCounter = 0; if(!doc.getElementById('mq-style')) { style = doc.createElement('style'); style.id = 'mq-style'; style.textContent = '.mq { -webkit-transition: width 0.001ms; -moz-transition: width 0.001ms; -o-transition: width 0.001ms; -ms-transition: width 0.001ms; width: 0; position: absolute; top: -100em; }\n'; docElem.insertBefore(style, refNode); } var transitionEnds = Array('transitionend','webkitTransitionEnd','oTransitionEnd','msTransitionEnd'); for(var i in transitionEnds) { if ('on'+ transitionEnds[i].toLowerCase() in window) transitionEnd = transitionEnds[i]; } return function(q, cb) { var id = 'mql-' + idCounter++, callback = function() { // perform test and send results to callback cb({ matches: (div.offsetWidth == 42), media: q }); }, div = doc.createElement('div'); div.className = 'mq'; // mq class in CSS declares width: 0 and transition on width of duration 0.001ms div.id = id; style.textContent += '@media ' + q + ' { #' + div.id + ' { width: 42px; } }\n'; // add transition event listener div.addEventListener(transitionEnd, callback, false); docElem.insertBefore(div, refNode); // original polyfill removes element, we need to keep element for transitions to continue and events to fire. return { matches: div.offsetWidth == 42, media: q }; }; })(document); </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload