<animateMotion>

SVG 的 **<animateMotion>** 元素提供了一种定义元素沿着运动路径移动方式的方法。

注意:要重用现有路径,需要在 <animateMotion> 元素内使用 <mpath> 元素,而不是 path 属性。

示例

html
<svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
  <path
    fill="none"
    stroke="lightgrey"
    d="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />

  <circle r="5" fill="red">
    <animateMotion
      dur="10s"
      repeatCount="indefinite"
      path="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />
  </circle>
</svg>

使用上下文

类别动画元素
允许的内容任意数量的以下元素,按任意顺序
描述性元素
<mpath>

属性

keyPoints

此属性指示对象在路径上的位置,范围为 [0,1],对应于每个关联的 keyTimes 值。值类型<number>*; 默认值:无;可动画

path

此属性使用与 d 属性相同的语法定义运动路径。值类型<string>; 默认值:无;可动画

rotate

此属性定义应用于沿路径动画的元素的旋转,通常用于使其指向动画的方向。值类型<number>|auto|auto-reverse; 默认值0; 可动画

注意:对于 <animateMotion>calcMode 属性的默认值为 paced

动画属性

动画时间属性
begindurendminmaxrestartrepeatCountrepeatDurfill
动画值属性
calcModevalueskeyTimeskeySplinesfromtoby
其他动画属性

最值得注意的是:attributeNameadditiveaccumulate

动画事件属性

最值得注意的是:onbeginonendonrepeat

使用说明

此元素实现了 SVGAnimateMotionElement 接口。

规范

规范
SVG 动画级别 2
# AnimateMotionElement

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅