我使用的是自定义缓动功能,所以我使用keySplines
、keyTimes
和values
属性来实现这一点.此动画在Chrome和Safari中有效,但在Firefox中,球对象应该遵循循环路径,根本不会移动(相反,球在左上角,因为没有x,y位置).
如果我go 掉这些属性,动画就会在Firefox中播放,但没有我想要的缓动功能.
<svg
xmlns="http://www.w3.org/2000/svg"
width="156.761"
height="139.855"
viewBox="0 0 156.761 139.855"
>
<circle id="ball" r="5" fill="red"/>
<path
id="foo-rail"
fill="none"
stroke="lightgrey"
d="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />
<animateMotion
href="#ball"
dur="2s"
begin="0s"
fill="freeze"
rotate="auto"
calcMode="spline"
keySplines="0.31 0.24 0.41 0.88"
keyTimes="0;1"
values="0;1"
>
<mpath href="#foo-rail" />
</animateMotion>
</svg>