JSFiddle - React, Tailwind, and code Playground

HTML

<div><div></div></div>

CSS

.block { width: 30px; height: 30px; display: inline-block; }

JavaScript

function Blocks() {
    var Size = 0;
    var _self = this;
    this.setSize = function(inputSize) {
            Size = inputSize;
    };

    this.goCrazy = function() {
            var Block = _self.randBlock();
            Block.style.background = _self.randColor();
        var t = setTimeout(function () { _self.goCrazy() }, 100);
    };

    this.createEnvironment = function() {
            var Block, prevBlock, i;
            for (i = 0; i < Size; i++) {
                    Block = document.createElement('div');
                    Block.className = 'block';
                    Block.id = i;
                    prevBlock = document.getElementsByTagName('div')[i];
                    prevBlock.parentNode.insertBefore(Block, prevBlock);
            }
    };

    this.randBlock = function() {
            return document.getElementsByTagName('div')[Math.floor(Math.random() * Size)];
    };

    this.randColor = function() {
            var Chars = '0123456789ABCDEF'.split('');
            var randColor = '#';
            for (var i = 0; i < 6; i++) {
                    randColor += Chars[Math.floor(Math.random() * Chars.length)];
            }

            return randColor;
    };
}
var object = new Blocks();
object.setSize(100);
object.createEnvironment();
object.goCrazy();