JSFiddle - React, Tailwind, and code Playground
by Sub Lines
HTML
<div class="image one"></div>
<div class="image two"></div>
<div class="image three"></div>
<div class="image four"></div>
CSS
.image {
background-size: cover;
display: inline-block;
width: 200px;
height: 200px;
border: 1px solid red;
}
.one {
background-image: url(https://placekitten.com/g/350/150);
}
.two {
background-image: url(https://placekitten.com/g/300/550);
}
.three {
background-image: url(https://placekitten.com/g/400/200);
}
.four {
background-image: url(https://placekitten.com/g/350/750);
}
JavaScript
var urls = [
'url(https://placekitten.com/g/350/150)',
'url(https://placekitten.com/g/200/600)',
'url(https://placekitten.com/g/550/250)',
'url(https://placekitten.com/g/700/300)',
'url(https://placekitten.com/g/300/550)',
'url(https://placekitten.com/g/400/200)',
'url(https://placekitten.com/g/350/750)'
];
var active = Math.floor(Math.random() * (urls.length));
setInterval(function() {
let rand = Math.floor(Math.random() * 4);
if (rand <= 2 && rand == document.getElementsByClassName('image')[0].getAttribute("data-changed")) {
rand = rand + 1;
} else if (rand == 2 && rand == document.getElementsByClassName('image')[0].getAttribute("data-changed")) {
rand = rand - 1;
}
document.getElementsByClassName('image')[rand].style.backgroundImage = urls[active];
document.getElementsByClassName('image')[0].setAttribute("data-changed", rand);
active++;
if (active == urls.length) active = 0;
//})
}, 2000);