【发布时间】:2022-03-18 16:44:25
【问题描述】:
我需要有一个连续运行的 CSS @keyframe 动画跨元素,这些元素通过 ajax/fetch 动态添加、销毁和替换。
但是将动画绑定到动态添加的元素会使动画在每次替换元素时从 0% 重新开始。
部分解决方案是将动画绑定到不可变的父元素。然后动画将连续运行并影响任何子元素,即使它们被动态替换。
但这个解决方案的局限性在于我无法选择哪些动画由哪个子元素继承。
对于此代码:
HTML
<div class='parent'>
<div class='child one'>Some text</div>
<div class='child two'>Other text</div>
</div>
CSS (SASS)
.parent
animation: BY 15s infinite alternate
.child.two
animation: RG 15s infinite alternate
@keyframes BY
0%
color: blue
100%
color: yellow
@keyframes RG
0%
color: red
100%
color: green
只有“.parent”中影响“.child.one”文本的 BY 动画在“.child.one”的任何动态替换中保持连续。而'.child.two'的动画每次动态替换时都会以0%重新开始。
这是一个说明这种行为的代码笔:https://codepen.io/plagasul/pen/WNerBvO
我希望“.child.one”和“.child.two”有不同的动画,它们在这些元素的动态替换中都是连续的。
谢谢
【问题讨论】:
标签: javascript ajax css-animations