Mam animację CSS z opóźnieniem i wstrzymuję ją w trakcie opóźnienia. Działa zgodnie z oczekiwaniami w Firefoksie i Chrome, "Witaj" się nie porusza. Jednak w Safari animacja przeskakuje do ostatniej klatki. Dlaczego i jak to naprawić?Błąd animacji CSS w Safari
function test() {
var timeout = 1000;
setTimeout(function() {
document.getElementById('animation').style.animationPlayState = 'paused';
}, timeout);
}
document.addEventListener("DOMContentLoaded", test);
#animation {
animation: test 2s linear 2s;
}
@keyframes test {
to {
transform: translateY(100px);
}
}
<div id="animation">
Hello (this text should not move)
</div>
Jeśli usunąć 2s opóźnienie, ustaw czas trwania do 4s i dodać klatkę kluczową z transform: none, mogę uczynić ten prosty przykład pracę. Jednak mój prawdziwy przypadek ma wiele animacji, które są zsynchronizowane z opóźnieniami.
Nie można odtworzyć. W przeglądarce Safari 11.0 (macOS) działa zgodnie z oczekiwaniami. – Styx
@Styx Właśnie testowałem w Safari 11.0 i nadal występuje błąd. "Hello" przeskakuje na dół, zamiast być zatrzymanym. – Patrick
Wypróbuj ten jsfiddle, proszę: https://jsfiddle.net/iStyx/2uqf1p9y/ – Styx