<script> mainDiv = document.getElementById("mainDiv");
function divWithText(text) {
let div = document.createElement("div");
let textNode = document.createTextNode(text);
div.appendChild(textNode);
return div;
}
function numberText(v) {
let node = divWithText(String(Math.floor(v)));
node.update = function (amount) {
v += amount;
node.textContent = String(Math.floor(v));
let x = v % 800;
let y = v % 50;
node.setAttribute("style", "position:absolute; " +
"left: " + x + "px; " +
"top: " + y % 50 + "px; " +
"color: hsl(" + x % 255 + ", 100%, 50%)");
};
node.update(0);
return node;
}
function tick() {
for (let node of nodes) {
node.update(1);
}
}
function tickForever() {
tick();
window.requestAnimationFrame(tickForever);
}
nodes = [];
for (let i = 0; i < 400; i += 30) {
let node = numberText(i);
mainDiv.appendChild(node);
nodes.push(node);
if (i === 0)
console.log(node);
}
tickForever();
</script>