我有一个css3动画,其中包含以下内容:
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
.animated {
-webkit-animation-name: rotate;
-webkit-animation-duration: 2.4s;
-webkit-animation-iteration-count: infinite;
-webkit-transition-timing-function: ease-in-out;
}
它完美无缺,好吧......我想让它在循环之间等待:
动画启动,动画完成,等待(约0.5秒),动画启动,动画结束,等待(约0.5秒) ) ...
PS:我已经尝试-webkit-animation-delay
,但它不起作用。
任何帮助?
答案 0 :(得分:24)
在动画持续时间内添加0.5秒,然后在keyframes
中创建一个不会改变旋转量的额外帧;
@-webkit-keyframes rotate {
0% {
-webkit-transform: rotate(0deg);
}
83% { /*2.4 / 2.9 = 0.827*/
-webkit-transform: rotate(360deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
.animated {
...
-webkit-animation-duration: 2.9s; /*note the increase*/
...
}
小演示:little link。
答案 1 :(得分:0)
通过javascript在指定时间内禁用元素上的css类可能会解决您的问题。
function delayAnimation () {
var animatedEl = document.getElementById('whatever');
animatedEl.className = '';
setTimeout(function () {
animatedEl.className = 'animated'
setTimeout(delayAnimation, 2400);// i see 2.4s is your animation duration
}, 500)// wait 0.5s
}
希望这有帮助。
答案 2 :(得分:0)
您可以使用过渡。 例如:
transition: all 0.6s ease-in-out;
其中transition-delay:0.6s;