【发布时间】:2021-03-03 19:12:08
【问题描述】:
我有一个在没有启动变量的情况下启动的内部 a:
<rect height={5} width={5}>
<animate
attributeName="height"
from={5} to={10} dur="2s"
begin={start ? "0s": "indefinite}/></rect>
组件位于 SVG 内部,该 SVG 会重新渲染以更改“start”变量以启动动画。但是,无论我何时选择重新渲染,动画都会立即开始。因此,如果我一渲染它所在的页面就按下它,它就会正常工作。但是,如果我在 2 秒后重新渲染组件,动画将跳转到结束值。如果我在渲染组件所在的页面后 1 秒开始动画,那么动画将从中间播放。怎么回事?!
谢谢
【问题讨论】:
-
缺少 = 符号?如果没有,请提供minimal reproducible example,即我们可以自己运行的东西。
-
页面上还有其他动画吗?如果是这样,动画时间轴可能已经运行,所以如果你说从 0 秒开始但时间轴已经在 2 秒,那么动画将从 2 秒开始。
-
对于代码格式化:复制并粘贴格式化的代码,第一行不缩进。然后,按 Strg+K。
-
感谢所有快速回复。 @RobertLongson 是的,页面上还有其他动画,但它们都以相同的“触发器”开始。找到了解决方案!
标签: javascript reactjs typescript svg svg-animate