CSS3动画暂停/取消暂停在webkit中跳过和跳跃

标签 css webkit css-animations

我已经实现了动画暂停,如下所述: How to pause and resume CSS3 animation using JavaScript?

这是我的旋转元素的 CSS:

.is-rotating{
    -webkit-animation: circle 55s linear infinite;
    -moz-animation: circle 55s linear infinite;
    -ms-animation: circle 55s linear infinite;
    animation: circle 55s linear infinite;
}

我将 is-paused 类切换到有问题的元素 onmouseover:

.is-paused{
    -webkit-animation-play-state:paused;
    -moz-animation-play-state:paused;
    -o-animation-play-state:paused; 
    animation-play-state:paused;
}

当我使用 JS (onmouseout) 删除此类时,旋转动画将重置为“原点”。有时会,有时不会。这发生在 webkit(OSX 上的 Chrome 和 Safari)中,在 FF 中工作正常。

我知道 animation-play-state 是一项实验性功能,但是 MDN says it should work fine in webkit .有没有人对如何为 webkit 浏览器实现有任何想法?

更新:这是 CSS 的其余部分:

@-webkit-keyframes circle {
    from { -webkit-transform:rotate(0deg); }
    to { -webkit-transform:rotate(360deg); }
}
@-webkit-keyframes inner-circle {
    from { -webkit-transform:rotate(0deg); }
    to { -webkit-transform:rotate(-360deg); }
}

@-moz-keyframes circle {
    from { -moz-transform:rotate(0deg); }
    to { -moz-transform:rotate(360deg); }
}
@-moz-keyframes inner-circle {
    from { -moz-transform:rotate(0deg); }
    to { -moz-transform:rotate(-360deg); }
}

@-ms-keyframes circle {
    from { -ms-transform:rotate(0deg); }
    to { -ms-transform:rotate(360deg); }
}
@-ms-keyframes inner-circle {
    from { -ms-transform:rotate(0deg); }
    to { -ms-transform:rotate(-360deg); }
}

@keyframes circle {
    from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}
@keyframes inner-circle {
    from { transform:rotate(0deg); }
    to { transform:rotate(-360deg); }
}

最佳答案

你试过animation-fill-mode: forwards了吗?这指定在动画结束时,它应该保持其最终样式,而不是恢复到动画前的状态。

关于CSS3动画暂停/取消暂停在webkit中跳过和跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13880445/

相关文章:

css - 如何改变CSS中按钮的背景颜色?

css - Form 中的图例在 Safari 中可以正常工作,但在 Mozilla 中不能

javascript - AngularJS 中的下拉子菜单?

javascript - 在ios中使用touchmove获取$(document).scrollTop()

javascript - 我如何从 CasperJS 访问 iframe?

css - 如何剪切一个正方形以便我可以绘制追逐边框?

CSS3 动画波浪效果

html - 盒子模型 - 为什么黄色盒子不留在里面?

css - 在 SVG 动画中更改对象/形状的颜色

css - 响应式背景恒速滚动