Bonjour,
J'ai une page avec 3 SVG animés mais je voudrais déclencher l'animation uniquement lorsqu'on scroll et qu'on arrive à l'emplacement du SVG. Sinon, le temps de scroller, toutes les animations des derniers SVG sont terminées...
J'ai créé un codepen avec le code simplifié pour tester mais je n'arrive qu'à déclencher qu'un seul élément de mon premier SVG. Les autres ne se lancent pas...
https://codepen.io/zorel/pen/XqMmqO
J'utilise ce bout de code javascript pour changer l'état de mon animation de "paused" à "running".
Je n'arrive pas à comprendre pourquoi mes autres éléments SVG ne se lancent pas...
Auriez-vous une solution?
Merci beaucoup
J'ai une page avec 3 SVG animés mais je voudrais déclencher l'animation uniquement lorsqu'on scroll et qu'on arrive à l'emplacement du SVG. Sinon, le temps de scroller, toutes les animations des derniers SVG sont terminées...
J'ai créé un codepen avec le code simplifié pour tester mais je n'arrive qu'à déclencher qu'un seul élément de mon premier SVG. Les autres ne se lancent pas...
https://codepen.io/zorel/pen/XqMmqO
J'utilise ce bout de code javascript pour changer l'état de mon animation de "paused" à "running".
// Get the position on the page of the SVG
var svgLocation = document.getElementById("SvgOutils").getBoundingClientRect();
// Scroll offset that triggers animation start.
// In this case it is the bottom of the SVG.
var offsetToTriggerAnimation = svgLocation.y + svgLocation.height;
// Function to handle the scroll event.
// Add an event handler to the document for the "onscroll" event
function scrollAnimTriggerCheck(evt)
{
var viewBottom = window.scrollY + window.innerHeight;
if (viewBottom > offsetToTriggerAnimation) {
// Start the CSS animation by setting the animation-play-state to "running"
document.querySelector(".Anim").style.animationPlayState = "running";
// Remove the event handler so it doesn't trigger again
document.removeEventListener("scroll", scrollAnimTriggerCheck);
}
}
// Add an event handler to the document for the "onscroll" event
document.addEventListener("scroll", scrollAnimTriggerCheck);
Je n'arrive pas à comprendre pourquoi mes autres éléments SVG ne se lancent pas...
Auriez-vous une solution?
Merci beaucoup