Firefox Tomorrow

svg element

<animateMotion>

View on MDN ↗

The <animateMotion> SVG element provides a way to define how an element moves along a motion path.

[!NOTE] To reuse an existing path, it will be necessary to use an <mpath> element inside the <animateMotion> element instead of the path attribute.

Usage context

Attributes

  • keyPoints
    • : This attribute indicates, in the range [0,1], how far the object is along the path for each associated value in keyTimes. Value type: <number>*; Default value: none; Animatable: no
  • path
    • : This attribute defines the path of the motion, using the same syntax as the d attribute. Value type: <string>; Default value: none; Animatable: no
  • rotate
    • : This attribute defines a rotation applied to the element animated along a path, usually to make it pointing in the direction of the animation. Value type: <number> | auto | auto-reverse; Default value: 0; Animatable: no

[!NOTE] For <animateMotion>, the default value for the calcMode attribute is paced.

Animation Attributes

DOM Interface

This element implements the SVGAnimateMotionElement interface.

Example

html,
body,
svg {
  height: 100%;
  margin: 0;
  padding: 0;
  display: block;
}
<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>
Interactive exampleOpen the canonical MDN source to run this embedded demo.

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also