svg element
<animateMotion>
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 thepathattribute.
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
- : This attribute indicates, in the range [0,1], how far the object is along the path for each associated value in
path- : This attribute defines the path of the motion, using the same syntax as the
dattribute. Value type: <string>; Default value: none; Animatable: no
- : This attribute defines the path of the motion, using the same syntax as the
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
- : 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> |
[!NOTE] For
<animateMotion>, the default value for thecalcModeattribute ispaced.
Animation Attributes
- Animation timing attributes
- :
begin,dur,end,min,max,restart,repeatCount,repeatDur,fill
- :
- Animation value attributes
- :
calcMode,values,keyTimes,keySplines,from,to,by
- :
- Other Animation attributes
- : Most notably:
attributeName,additive,accumulate
- : Most notably:
- Animation event attributes
- : Most notably:
onbegin,onend,onrepeat
- : Most notably:
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.