SVG-Animationen (SMIL) starten, wenn die SVG sichtbar ist

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Wenn eine Anforderung lautet „wenn sichtbar“, sollte Ihr Gehirn sofort an IntersectionObserver denken. Genau das macht Zach hier, um eine Animation zu starten, wenn sie in den Ansichtsbereich gescrollt wird.

Außer dieser Animation ist es eine SVG SMIL-Animation: eine <animate>-Situation. SMIL-Animationen können einige ziemlich coole Dinge tun, wie zum Beispiel beginnen, wenn eine andere Animation endet, was CSS nicht so sehr hilft. Es stellt sich heraus, dass SMIL auch eine JavaScript-API hat, sodass es möglich ist, die Animation auf diese Weise nach Bedarf zu starten und gleichzeitig prefers-reduced-motion zu berücksichtigen.

Schauen Sie sich auch das an

.querySelectorAll(`:scope [begin="indefinite"]`);

Diese :scope-Sache ist neu für mich.

Direkter Link →