SVG animateMotion Element
Complete SVG Reference
Definition and Usage
The SVG animateMotion element is used to move an element along a motion path.
Example 1
This example creates a text that will move along a motion path.
Copy the following code into Notepad and save
the file as "animatemotion_0.svg". Place the file in your Web directory:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<g transform="translate(100,100)">
<text id="TextElement" x="0" y="0"
style="font-family:Verdana;font-size:24"> It's SVG!
<animateMotion path="M 0 0 L 100 100" dur="5s" fill="freeze"/>
</text>
</g>
</svg>
|
View example
Example 2
This example creates a text that will move along a motion path. The text will
also rotate and scale.
Copy the following code into Notepad and save
the file as "animatemotion_1.svg". Place the file in your Web directory:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<g transform="translate(100,100)">
<text id="TextElement" x="0" y="0"
style="font-family:Verdana;font-size:24;
visibility:hidden"> It's SVG!
<set attributeName="visibility" attributeType="CSS"
to="visible" begin="1s" dur="5s" fill="freeze"/>
<animateMotion path="M 0 0 L 100 100" begin="1s"
dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="rotate" from="-30" to="0"
begin="1s" dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="scale" from="1" to="3"
additive="sum" begin="1s" dur="5s" fill="freeze"/>
</text>
</g>
</svg>
|
View example
Example 3
This example creates a text that will move along a motion path. The text will
also rotate, scale and change color. We have also added a rectangle that will
"grow" and change color in the background.
Copy the following code into Notepad and save
the file as "animatemotion_2.svg". Place the file in your Web directory:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<rect id="rec" x="300" y="100" width="300" height="100"
style="fill:lime">
<animate attributeName="x" attributeType="XML" begin="0s"
dur="6s" fill="freeze" from="300" to="0"/>
<animate attributeName="y" attributeType="XML" begin="0s"
dur="6s" fill="freeze" from="100" to="0"/>
<animate attributeName="width" attributeType="XML"
begin="0s" dur="6s" fill="freeze" from="300" to="800"/>
<animate attributeName="height" attributeType="XML"
begin="0s" dur="6s" fill="freeze" from="100" to="300"/>
<animateColor attributeName="fill" attributeType="CSS"
from="lime" to="red" begin="2s" dur="4s" fill="freeze"/>
</rect>
<g transform="translate(100,100)">
<text id="TextElement" x="0" y="0"
style="font-family:Verdana;font-size:24;visibility:hidden">
It's SVG!
<set attributeName="visibility" attributeType="CSS"
to="visible" begin="1s" dur="5s" fill="freeze"/>
<animateMotion path="M 0 0 L 100 100" begin="1s"
dur="5s" fill="freeze"/>
<animateColor attributeName="fill" attributeType="CSS"
from="red" to="blue" begin="1s" dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="rotate" from="-30" to="0"
begin="1s" dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="scale" from="1" to="3"
additive="sum" begin="1s" dur="5s" fill="freeze"/>
</text>
</g>
</svg>
|
View example
Complete SVG Reference
 |
W3Schools' Online Certification Program
The perfect solution for professionals who need to balance work, family, and career building.
More than 3500 certificates already issued!
|
The HTML Certificate documents your knowledge of HTML, XHTML, and CSS.
The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM.
The XML Certificate documents your knowledge of XML, XML DOM and XSLT.
The ASP Certificate documents your knowledge of ASP, SQL, and ADO.
The PHP Certificate documents your knowledge of PHP and SQL (MySQL).
|