/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- * vim: sw=2 ts=2 sts=2 et filetype=javascript * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ function loadURL(url,callback) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { callback(xhttp.responseText); } }; xhttp.open("GET", url, true); xhttp.send(); } function dyn1(selector) { // get an array of elements matching |selector| var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) // remove the first item in each grid var removed = elems.map(function(e) { var child = e.children[0]; if (child) { var next = child.nextSibling; e.removeChild(child); return [ e, child, next ]; } else { return null; } }); document.body.style.display = 'block'; document.body.offsetHeight; // insert the removed item removed.map(function(a) { if (a) { a[0].insertBefore(a[1],a[2]); } }); } function dyn2(selector) { // get an array of elements matching |selector| var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) // inject a new first item in each grid var inserted = elems.map(function(e) { var child = document.createElement('span'); e.insertBefore(child, e.firstChild); return [ e, child ]; }); document.body.style.display = 'block'; document.body.offsetHeight; // remove the inserted item inserted.map(function(a) { a[0].removeChild(a[1]); }); } function dyn3(selector) { // get an array of elements matching |selector| var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) // remove the second item in each grid var removed = elems.map(function(e) { var child = e.children[1]; if (child) { var next = child.nextSibling; e.removeChild(child); return [ e, child, next ]; } else { return null; } }); document.body.style.display = 'block'; document.body.offsetHeight; // insert the removed items removed.map(function(a) { if (a) { a[0].insertBefore(a[1],a[2]); } }); } function dyn4(selector) { dyn3(selector); dyn2(selector); } function dyn5(selector) { // get an array of elements matching |selector| var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) // inject 20 new items in each grid var inserted = elems.map(function(e) { var a = new Array; for (var i = 0; i < 20; ++i) { var child = document.createElement('span'); e.insertBefore(child, e.firstChild); a.push(child); } return [ e, a ]; }); document.body.style.display = 'block'; document.body.offsetHeight; // remove the inserted item inserted.map(function(a) { a[1].forEach(function(child) { a[0].removeChild(child); }); }); } function dynamicTest(url, callback) { document.body.style.display=''; document.body.offsetHeight; loadURL(url,callback); }