1 回答
TA贡献1872条经验 获得超3个赞
begin和end时间,如果在不引用其他时钟的情况下使用,则始终引用文档的开头。0s因此,您应该使用其他参考,而不是将该值设置为。我想到了几种可能性:
从点击或其他事件开始。该begin值采用以下形式<id of event target element>.<event name>:
<rect id="grafic" height={5} width={5}>
<animate id="animation" attributeName="height"
from={5} to={10} dur="2s" begin="grafic.click"/>
</rect>
从其他一些代码开始。该begin值保持在indefinite:
<rect id="grafic" height={5} width={5}>
<animate id="animation" attributeName="height"
from={5} to={10} dur="2s" begin="indefinite"/>
</rect>
但动画是通过 API 调用启动的:
document.getElementById('animation').beginElement();
为了获得更像 React 的感觉,请在设置属性时定义“立即”的 wallckock 值:
const rightnow = () => new Date().toLocaleTimeString()
<rect id="grafic" height={5} width={5}>
<animate id="animation" attributeName="height"
from={5} to={10} dur="2s"
begin={start ? `wallclock(${rightnow()})` : "indefinite"/>
</rect>
添加回答
举报