UNPKG

emile

Version:

no-thrills stand-alone CSS animation JavaScript framework

52 lines (46 loc) 1.3 kB
!function (doc) { var loaded = 0, fns = [], ol, f = false, testEl = doc.createElement('a'), domContentLoaded = 'DOMContentLoaded', addEventListener = 'addEventListener', onreadystatechange = 'onreadystatechange'; function flush() { loaded = 1; for (var i = 0, l = fns.length; i < l; i++) { fns[i](); } } doc[addEventListener] && doc[addEventListener](domContentLoaded, function fn() { doc.removeEventListener(domContentLoaded, fn, f); flush(); }, f); testEl.doScroll && doc.attachEvent(onreadystatechange, (ol = function ol() { if (/^c/.test(doc.readyState)) { doc.detachEvent(onreadystatechange, ol); flush(); } })); var domReady = testEl.doScroll ? function (fn) { self != top ? !loaded ? fns.push(fn) : fn() : !function () { try { testEl.doScroll('left'); } catch (e) { return setTimeout(function() { domReady(fn); }, 50); } fn(); }(); } : function (fn) { loaded ? fn() : fns.push(fn); }; (typeof module !== 'undefined') && module.exports ? (module.exports = {domReady: domReady}) : (window.domReady = domReady); }(document);