diff --git a/core/src/utils/animation/animation.ts b/core/src/utils/animation/animation.ts index 66ba1c9191..4e9e721d9e 100644 --- a/core/src/utils/animation/animation.ts +++ b/core/src/utils/animation/animation.ts @@ -819,7 +819,10 @@ export const createAnimation = (): Animation => { const animationDuration = getDuration() || 0; const animationIterations = getIterations() || 1; - cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + (animationDuration * animationIterations) + ANIMATION_END_FALLBACK_PADDING_MS); + // No need to set a timeout when animation has infinite iterations + if (isFinite(animationIterations)) { + cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + (animationDuration * animationIterations) + ANIMATION_END_FALLBACK_PADDING_MS); + } animationEnd(elements[0], () => { clearCSSAnimationsTimeout();