JSFiddle - React, Tailwind, and code Playground
HTML
<img src="https://i.ytimg.com/vi/YNiI6C0142g/maxresdefault.jpg">
CSS
img {
width: 100px;
}
JavaScript
let img = document.querySelector("img");
let min_wid = parseFloat(getComputedStyle(img).width);
let d = 1, i = 0;
(function zoom() {
let wid = parseFloat(img.style.width || min_wid) + 4 * d;
img.style.width = wid + "px";
if (i++ > 180) {
d *= -1;
i = 0;
setTimeout(zoom, 3000);
return;
}
requestAnimationFrame(zoom);
})();