JSFiddle - React, Tailwind, and code Playground
HTML
<div class="test"></div>
CSS
.black {
background-color: black;
height: 20px;
width: 20px;
display: none;
}
html, body {
height: 100%;
width: 100%;
}
.test {
width: 100%;
height: 100%;
position: relative;
}
JavaScript
for( var i = 1; i < 136; i++ ) {
$(".test").append( "<div class='black' id='" + i + "'/></div>" );
}
var els = $(".black");
var $random = shuffleArray( els );
$random.each( function( ) {
var max = 4000;
var min = 1000;
var duration = Math.floor(Math.random() * ( max - min + 1) + min );
$(this).delay( duration ).fadeTo( 1000, 1, function( ) {
$(this).delay( duration ).fadeTo( 1000, 0 );
});
});
/**
* Randomize array element order in-place.
* Using Fisher-Yates shuffle algorithm.
*/
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}