public/assets/js/gifs.js (17 lines of code) (raw):

import Freezeframe from "freezeframe"; import { onVisible } from "./utils.js"; const gifs = Array.from(document.querySelectorAll(".animated-gif")); gifs.forEach((gif) => { onVisible(gif, (entry, observer) => { if (entry.intersectionRatio > 0) { new Freezeframe({ selector: gif, trigger: "click", overlay: true, responsive: true, warnings: true, }); // stop creating gifs observer.unobserve(entry.target); } }); });