diff --git a/scripts/session_startup_animation.js b/scripts/session_startup_animation.js index 664bd45..520b866 100644 --- a/scripts/session_startup_animation.js +++ b/scripts/session_startup_animation.js @@ -91,15 +91,25 @@ async function sessionStartupAnimation() all_default_elements.forEach((elem) => elem.style.animation = "opacity-fade-in 0.5s"); all_default_elements.forEach((elem) => elem.style.opacity = 1); + + window.onkeydown = null; } function interruptStartingAnimation() { let author_elem = document.body.querySelector(".startup-animation-author"); - author_elem.getAnimations().forEach((animation) => animation.finish()); + author_elem.getAnimations().forEach((animation) => { + // Skip if fade-out + if(animation.animationName != "opacity-fade-out") + animation.finish(); + }); - let text_elem = document.body.querySelector(".startup-animation-text"); - text_elem.getAnimations().forEach((animation) => animation.finish()); + let text_elem = document.body.querySelectorAll(".startup-animation-char"); + text_elem.forEach((char_elem) => char_elem.getAnimations().forEach((animation) => { + // No need to skip fade-out because it is handled by startup-animation-text + if(animation.currentTime < 2800) + animation.currentTime = 2800; + })); if(sound.currentTime < 2.75) { @@ -109,7 +119,6 @@ function interruptStartingAnimation() window.onkeydown = () => { interruptStartingAnimation(); - window.onkeydown = null; } // Only start animation once per session