<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=Interactive_SVG-SMIL_animation_tutorial</id>
	<title>Interactive SVG-SMIL animation tutorial - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=Interactive_SVG-SMIL_animation_tutorial"/>
	<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;action=history"/>
	<updated>2026-05-26T05:10:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;diff=16125&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;$&quot; to &quot;
{{edutechwiki}}&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;diff=16125&amp;oldid=prev"/>
		<updated>2021-04-10T00:18:25Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;$&amp;quot; to &amp;quot; {{edutechwiki}}&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:18, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l126&quot;&gt;Line 126:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 126:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: SVG]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: SVG]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{edutechwiki}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;diff=15447&amp;oldid=prev</id>
		<title>Daniel K. Schneider: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;diff=15447&amp;oldid=prev"/>
		<updated>2021-04-09T22:47:05Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:47, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;diff=15446&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;&lt;pageby nominor=&quot;false&quot; comments=&quot;false&quot;/&gt;&quot; to &quot;&lt;!-- &lt;pageby nominor=&quot;false&quot; comments=&quot;false&quot;/&gt; --&gt;&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Interactive_SVG-SMIL_animation_tutorial&amp;diff=15446&amp;oldid=prev"/>
		<updated>2016-08-22T17:24:00Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;&amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt;&amp;quot; to &amp;quot;&amp;lt;!-- &amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt; --&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- &amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
{{web technology tutorial|Intermediate}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This short tutorial will provide an introduction to adding some interactivity to dynamic SVG, ie. [[SVG-SMIL animation tutorial|SVG-SMIL animation]].&lt;br /&gt;
&lt;br /&gt;
For the moment, this &amp;#039;&amp;#039;&amp;#039;page only includes some examples&amp;#039;&amp;#039;&amp;#039; (tested on Jan 2014 with Firefox and Chrome)&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* [[Using SVG with HTML5 tutorial]]&lt;br /&gt;
* [[Static SVG tutorial]]&lt;br /&gt;
* [[SVG-SMIL animation tutorial]]&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [[SVG]] (Short overview)&lt;br /&gt;
* [[SVG links]] (links to various SVG resources)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternative reading:&lt;br /&gt;
* [http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Animating_and_Scripting_SVG SVG Essentials/Animating and Scripting SVG] (Chapter from the Eisenberg book)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Attention:&amp;#039;&amp;#039;&amp;#039; You must use a recent HTML5 compliant browser (issued 2011 or later), e.g. FireFox, Chrome, Opera or Safari. These examples will not work with Internet Explorer 9.&lt;br /&gt;
&lt;br /&gt;
== Simple click and mouse-over examples ==&lt;br /&gt;
&lt;br /&gt;
SVG-SMIL allows to use user events such as a mouse click. &lt;br /&gt;
Something like &amp;lt;code&amp;gt;Button.click&amp;lt;/code&amp;gt; allows to refer to a click event on an SVG element that has &amp;lt;code&amp;gt;id=Button&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following SVG code fragment is part of an HTML5 file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;svg style=&amp;quot;margin-left:50px;border:1px solid blue&amp;quot; height=&amp;quot;300&amp;quot; width=&amp;quot;300&amp;quot; &lt;br /&gt;
	 xmlns:xlink=&amp;quot;http://www.w3.org/1999/xlink&amp;quot;&lt;br /&gt;
	 xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;g id=&amp;quot;Button&amp;quot;&lt;br /&gt;
	 transform=&amp;quot;translate(100,100)&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ellipse stroke-width=&amp;quot;2&amp;quot; stroke=&amp;quot;none&amp;quot; fill=&amp;quot;yellow&amp;quot; ry=&amp;quot;1cm&amp;quot; rx=&amp;quot;2cm&amp;quot; &amp;gt;&lt;br /&gt;
	  &amp;lt;animate fill=&amp;quot;freeze&amp;quot; dur=&amp;quot;1s&amp;quot; begin=&amp;quot;Button.click&amp;quot; from=&amp;quot;1cm&amp;quot; to=&amp;quot;5cm&amp;quot; attributeName=&amp;quot;ry&amp;quot;/&amp;gt;&lt;br /&gt;
	  &amp;lt;animate fill=&amp;quot;freeze&amp;quot; dur=&amp;quot;1s&amp;quot; begin=&amp;quot;Button.click&amp;quot; from=&amp;quot;2cm&amp;quot; to=&amp;quot;10cm&amp;quot; attributeName=&amp;quot;rx&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ellipse&amp;gt;&lt;br /&gt;
	&amp;lt;text style=&amp;quot;font-family:Arial;font-size:18;&amp;quot; alignment-baseline=&amp;quot;middle&amp;quot; x=&amp;quot;-1cm&amp;quot;&amp;gt;Click me !&amp;lt;/text&amp;gt;&lt;br /&gt;
      &amp;lt;/g&amp;gt;      &lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Live example / source code: &lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/mouse-over/simple-click.html&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/mouse-over/simple-click2.html (Animation elements outside the animated element)&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/mouse-over/simple-click3.html (Animation happens in another element)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mouse over/out example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;svg height=&amp;quot;200&amp;quot; width=&amp;quot;500&amp;quot; &lt;br /&gt;
  xmlns:xlink=&amp;quot;http://www.w3.org/1999/xlink&amp;quot;&lt;br /&gt;
  xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;ellipse stroke-width=&amp;quot;2&amp;quot; stroke=&amp;quot;black&amp;quot; fill=&amp;quot;yellow&amp;quot; &lt;br /&gt;
	   cx=&amp;quot;3cm&amp;quot; cy=&amp;quot;2cm&amp;quot; ry=&amp;quot;1cm&amp;quot; rx=&amp;quot;2cm&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;animate fill=&amp;quot;freeze&amp;quot; dur=&amp;quot;0.1s&amp;quot; to=&amp;quot;blue&amp;quot; from=&amp;quot;yellow&amp;quot; &lt;br /&gt;
		  attributeName=&amp;quot;fill&amp;quot; begin=&amp;quot;mouseover&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;animate fill=&amp;quot;freeze&amp;quot; dur=&amp;quot;0.1s&amp;quot; to=&amp;quot;yellow&amp;quot; from=&amp;quot;blue&amp;quot;&lt;br /&gt;
		  attributeName=&amp;quot;fill&amp;quot; begin=&amp;quot;mouseout&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/ellipse&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Live example / source code: &lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/mouse-over/mouse-over.svg&lt;br /&gt;
&lt;br /&gt;
== Combined click/mouse over ==&lt;br /&gt;
&lt;br /&gt;
Live example showing a mouse over affecting an other element plus an external link&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/mouse-over/mouse-over1.svg&lt;br /&gt;
&lt;br /&gt;
== Motion animation ==&lt;br /&gt;
&lt;br /&gt;
Example showing how to start a motion animation:&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/smil-dom/drive-start.svg  (Pure SVG)&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/smil-dom/drive-start.html (HTML5 + SVG)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternative examples:&lt;br /&gt;
* http://srufaculty.sru.edu/david.dailey/svg/newstuff/SMIL7g.svg&lt;br /&gt;
&lt;br /&gt;
== Stopping / pausing animation ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pendulum example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/smil-dom/pendula.svg&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/smil-dom/pendula2.svg (Using functions instead, just for show ....)&lt;br /&gt;
* http://tecfa.unige.ch/guides/svg/ex/smil-dom/pendula.html (HTML5 variant, Animation stopped after loading)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; version=&amp;quot;1.0&amp;quot; &lt;br /&gt;
     onload=&amp;quot;init()&amp;quot;&lt;br /&gt;
     viewBox=&amp;quot;0 0 300 200&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;desc&amp;gt;&lt;br /&gt;
  The pendulum code was taken from http://www.treebuilder.de/xul/svg2apng/pendel.svg. The pauseAnimations method is documented in the SVG 1.1 spec: http://www.w3.org/TR/SVG/struct.html#__svg__SVGSVGElement__pauseAnimations&lt;br /&gt;
 &amp;lt;/desc&amp;gt;&lt;br /&gt;
&amp;lt;g&amp;gt;&lt;br /&gt;
&amp;lt;line x1=&amp;quot;100&amp;quot; y1=&amp;quot;0&amp;quot; x2=&amp;quot;100&amp;quot; y2=&amp;quot;90&amp;quot; stroke=&amp;quot;black&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;circle cx=&amp;quot;100&amp;quot; cy=&amp;quot;90&amp;quot; r=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;animateTransform attributeName=&amp;quot;transform&amp;quot; type=&amp;quot;rotate&amp;quot; values=&amp;quot;0,100,0;70,100,0;0,100,0;-70,100,0;0,100,0&amp;quot;&lt;br /&gt;
		  keySplines=&amp;quot;0,0.5,0.5,1;0.5,0,1,0.5;0,0.5,0.5,1;0.5,0,1,0.5&amp;quot;&lt;br /&gt;
		  calcMode=&amp;quot;spline&amp;quot; begin=&amp;quot;0s&amp;quot; dur=&amp;quot;4s&amp;quot; repeatCount=&amp;quot;indefinite&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;g onclick=&amp;quot;document.documentElement.pauseAnimations();&amp;quot; transform=&amp;quot;translate(150 0)&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;rect width=&amp;quot;60&amp;quot; height=&amp;quot;30&amp;quot; rx=&amp;quot;10&amp;quot; stroke=&amp;quot;black&amp;quot; fill-opacity=&amp;quot;0.2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text id=&amp;quot;t&amp;quot; style=&amp;quot;font:16px Arial Black;fill:white;stroke:black&amp;quot; transform=&amp;quot;translate(5 20)&amp;quot;&amp;gt;STOP&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;g onclick=&amp;quot;document.documentElement.unpauseAnimations();&amp;quot; transform=&amp;quot;translate(5 0)&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;rect width=&amp;quot;60&amp;quot; height=&amp;quot;30&amp;quot; rx=&amp;quot;10&amp;quot; stroke=&amp;quot;black&amp;quot; fill-opacity=&amp;quot;0.2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text id=&amp;quot;t2&amp;quot; style=&amp;quot;font:16px Arial Black;fill:white;stroke:black&amp;quot; transform=&amp;quot;translate(2 20)&amp;quot;&amp;gt;START&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: SVG]]&lt;/div&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
</feed>