JSFiddle - React, Tailwind, and code Playground
CSS
:root {
margin: 0;
padding: 0;
}
body {
background-color: #444444;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
overflow-y: hidden;
}
@keyframes fade-in {
0% { opacity: 0; }
100% { opacity: 1; }
}
.image-fade-in {
animation: fade-in 1s ease-in-out;
}
JavaScript
const image = document.querySelector("img");
const marioSrc = "https://www.pinclipart.com/picdir/big/361-3619269_mario-16-bit-mario-bros-super-mario-world.png";
const isImageCached = (imageSource) => {
let image = new Image();
image.src = imageSource;
const isCached = image.complete;
image.src = "";
image = null;
return isCached;
};
if (!isImageCached(marioSrc)) {
image.classList.add("image-fade-in");
}
image.setAttribute("src", marioSrc);