我们有一种方法可以使用 JS 检测动画何时结束:
const element = $('#animatable');
element.addClass('being-animated').on("animationend", (event) => {
console.log('Animation ended!');
});
@keyframes animateOpacity {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes animatePosition {
0% {
transform: translate3d(0, 0, 0);
}
100% {
transform: translate3d(0, 15px, 0);
}
}
#animatable.being-animated {
animation: animateOpacity 1s ease 0s forwards, animatePosition 2s ease 0s forwards;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="animatable">I'm probably being animated.</div>
正如你所看到的,JS,理所当然地,因为我被这个animationend事件吸引住了,它告诉我“是的,动画完成了”但不知道接下来会发生什么,我错过了第二个。
不是有动画队列吗?当然,CSS 必须在系统中的某个地方注册这些东西,然后才能在它们被触发之前达到峰值。
守着一只汪
阿晨1998
相关分类