我有一个带延迟的CSS动画,并在延迟期间暂停它。 在Firefox和Chrome上,它按预期工作,“Hello”不会移动。 但是在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>
如果我去掉2秒的延迟,将持续时间设置为4秒,并添加一个transform:none的关键帧,我可以使这个简单的例子工作。然而我的真实情况有多个动画与延迟同步。