I just watched Ralph Breaks the Internet π
and I absolutely love the scene where Ralph is popping everywhere on the screen.
Ralph in CSS
Because it's late and we need Ralph in CSS so I stole the amazing CSS pixel art by Jason Delia using box-shadow. We need to play with box-shadow again.
Simple Popup Animation
Hide the original Ralph so the first Ralph is always at random position.
<div id="ralph"></div>
Duplicate Ralph using cloneNode
and put it in body
.
const body = document.getElementsByTagName("body")[0];
const ralph = document.getElementById("ralph");
function duplicateRalphAtRandomPosition() {
const ralphClone = ralph.cloneNode(true);
ralphClone.style.display = "block";
ralphClone.style.top = getRandomPercentage();
ralphClone.style.left = getRandomPercentage();
ralphClone.style.transform = `scale(${getRandomSize()})`;
body.appendChild(ralphClone);
}
Place cloned Ralph in random position with random size.
// Return 0% to 100%
function getRandomPercentage() {
return Math.random() * 101 + "%";
}
// Return 0.3 - 1
function getRandomSize() {
return Math.random() * 0.8 + 0.3;
}
Keep doing it every second until the Internet breaks using setInterval
// Duplicate Ralph every second yo
setInterval(function() {
duplicateRalphAtRandomPosition();
}, 1000);
Top comments (0)