<docbook><section><title>OATDOCanimation</title><para> </para>
<title> animation.js</title> animation.js
<para>Implements basic animation framework, as well as some pre-defined animation effects.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Objects</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Animation(element, optionsObject)</bridgehead>
<para>Creates animation of <computeroutput>element</computeroutput>.
 All parameters are specified in <computeroutput>optionsObject</computeroutput>; for most use cases, it is more suitable to use some pre-defined <computeroutput>Animation*</computeroutput> object.
 Properties of <computeroutput>optionsObject</computeroutput>:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput> <emphasis>delay</emphasis> </computeroutput> - in msec </listitem>
<listitem><computeroutput> <emphasis>startFunction</emphasis> </computeroutput> - to be executed when animation starts </listitem>
<listitem><computeroutput> <emphasis>conditionFunction</emphasis> </computeroutput> - checked every step </listitem>
<listitem><computeroutput> <emphasis>stepFunction</emphasis> </computeroutput> - executed every step </listitem>
<listitem><computeroutput> <emphasis>stopFunction</emphasis> </computeroutput> - executed when <computeroutput>conditionFunction</computeroutput> returns true (and animation stops)</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.AnimationSize(element, optionsObject)</bridgehead>
<para>Animates <computeroutput>element</computeroutput>&#39;s size.
 Properties of <computeroutput>optionsObject</computeroutput>:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput> <emphasis>delay</emphasis> </computeroutput> - in msec </listitem>
<listitem><computeroutput> <emphasis>width</emphasis> </computeroutput> - final width; -1 to ignore </listitem>
<listitem><computeroutput> <emphasis>height</emphasis> </computeroutput> - final height; -1 to ignore </listitem>
<listitem><computeroutput> <emphasis>speed</emphasis> </computeroutput> - speed of animation (in pixels)</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.AnimationPosition(element, optionsObject)</bridgehead>
<para>Animates <computeroutput>element</computeroutput>&#39;s position.
 Properties of <computeroutput>optionsObject</computeroutput>:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput> <emphasis>delay</emphasis> </computeroutput> - in msec </listitem>
<listitem><computeroutput> <emphasis>left</emphasis> </computeroutput> - final left coordinate; -1 to ignore </listitem>
<listitem><computeroutput> <emphasis>top</emphasis> </computeroutput> - final top coordinate; -1 to ignore </listitem>
<listitem><computeroutput> <emphasis>speed</emphasis> </computeroutput> - speed of animation (in pixels)</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.AnimationOpacity(element, optionsObject)</bridgehead>
<para>Animates <computeroutput>element</computeroutput>&#39;s opacity.
 Properties of <computeroutput>optionsObject</computeroutput>:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput> <emphasis>delay</emphasis> </computeroutput> - in msec </listitem>
<listitem><computeroutput> <emphasis>opacity</emphasis> </computeroutput> - final opacity in 0..1 </listitem>
<listitem><computeroutput> <emphasis>speed</emphasis> </computeroutput> - speed of animation (in opacity steps)</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.AnimationCSS(element, optionsObject)</bridgehead>
<para>Animates <computeroutput>element</computeroutput>&#39;s CSS property.
 Properties of <computeroutput>optionsObject</computeroutput>:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput> <emphasis>delay</emphasis> </computeroutput> - in msec </listitem>
<listitem><computeroutput> <emphasis>property</emphasis> </computeroutput> - name of CSS property </listitem>
<listitem><computeroutput> <emphasis>start</emphasis> </computeroutput> - initial value </listitem>
<listitem><computeroutput> <emphasis>step</emphasis> </computeroutput> - per-step value </listitem>
<listitem><computeroutput> <emphasis>stop</emphasis> </computeroutput> - final value</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Methods</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Animation::start()</bridgehead>
<para>Starts the animation.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Animation::stop()</bridgehead>
<para>Stops the animation.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Messages</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.MSG.ANIMATION_STOP</bridgehead>
<para>OAT emits this message (by its own means, not when stopped by stop()) containing animation object when animation finishes.</para>
<para>REMARK: When attaching message listeners to Animation* derivatives, attach them to the <computeroutput>.animation</computeroutput> property instead.
 Example:</para>
<programlisting>var as = new OAT.AnimationSize(&quot;myDiv&quot;);
OAT.MSG.attach(as.animation, OAT.MSG.ANIMATION_STOP, myCallback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Example</bridgehead>
<programlisting>var div = Dom.create(&quot;div&quot;);
var a = new OAT.AnimationOpacity(div, {opacity:0.5, delay:50, speed: 0.02});
a.start(); // will slowly make &lt;div&gt; element 50% transparent
</programlisting><para> <ulink url="CategoryDocumentation">CategoryDocumentation</ulink> <ulink url="CategoryOAT">CategoryOAT</ulink> <ulink url="CategoryOpenSource">CategoryOpenSource</ulink></para>
</section></docbook>