<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>With Great Power comes Great Response.write("Ability") : Animation</title><link>http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx</link><description>Tags: Animation</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Happy Birthday to Me !!!</title><link>http://blogs.msdn.com/phaniraj/archive/2007/09/17/happy-birthday-to-me.aspx</link><pubDate>Mon, 17 Sep 2007 18:47:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4958118</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/4958118.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=4958118</wfw:commentRss><description>&lt;p&gt;Hello all ,&lt;/p&gt; &lt;p&gt;Today I grow a year older ,&amp;nbsp; I am now all of 26 !!! &lt;/p&gt; &lt;p&gt;As return gifts&amp;nbsp; to everyone, I am giving out a demo application that encompasses most of my knowledge about the AjaxControlToolkit Animation Extender. &lt;/p&gt; &lt;p&gt;Here is a list of the Animations that are demo'd .&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Basic Animations &lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt; Fade &lt;/li&gt; &lt;li&gt; ReSize &lt;/li&gt; &lt;li&gt; Length &lt;/li&gt; &lt;li&gt; Color &lt;/li&gt; &lt;li&gt; Pulse &lt;/li&gt; &lt;li&gt; Discrete &lt;/li&gt; &lt;li&gt; Scale &lt;/li&gt; &lt;li&gt; Move &lt;/li&gt; &lt;li&gt; Case &lt;/li&gt; &lt;li&gt; Condition &lt;/li&gt; &lt;li&gt; Sequence &lt;/li&gt; &lt;li&gt; Parallel &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Actions &lt;/strong&gt; &lt;ul&gt; &lt;li&gt; Enable Action &lt;/li&gt; &lt;li&gt; Script Action &lt;/li&gt; &lt;li&gt; Hide Action &lt;/li&gt; &lt;li&gt; Opacity Action &lt;/li&gt; &lt;li&gt; Style Action &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Advanced &lt;/strong&gt; &lt;ul&gt; &lt;li&gt; Scripting Animations&lt;/li&gt; &lt;li&gt; Client-Side DataBinding &lt;/li&gt; &lt;li&gt; Experiment #1 &lt;/li&gt; &lt;li&gt; Experiment #2 ( Plot a Path and Follow it )&lt;/li&gt; &lt;li&gt; Reuse AnimationExtender &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Triggers&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt; OnLoad &lt;/li&gt; &lt;li&gt; OnHoverOver/Out &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Some Screenshots&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;u&gt;The Main Menu &lt;/u&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/MainMenu_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="MainMenu" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/MainMenu_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;In each demo of each animation type , you get :&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&amp;nbsp; a Demo of the animation&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Demo_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="Demo" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Demo_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; 2.&amp;nbsp; The Source Code for implementing the animation&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Code_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="Code" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Code_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;3.&amp;nbsp; Reference towards further explanation of the animation type&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Reference_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="Reference" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Reference_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;How do I download this ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt; Click here : &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 26px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-925c2d2bb2d03c6b.skydrive.live.com/embedrow.aspx/Public/All%20animations%20Demos.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What do I need&amp;nbsp; to be pre-installed ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt; The ASP.NET Ajax Extensions&lt;/p&gt; &lt;p&gt; IIS Web Server&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How do I set this up ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Follow the steps mentioned here : &lt;a href="http://support.microsoft.com/kb/172138/en-us" target="_blank"&gt;Instructions to Setup a Virtual Directory in IIS&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Which browser does this work in ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;The animations themselves work in all browsers that are officially supported.&lt;/p&gt; &lt;p&gt; For the Tabs look that&amp;nbsp; is present on each page is my own implementation using JavaScript that works only in IE ( I use DIVS&amp;nbsp; :-) ).&lt;/p&gt; &lt;p&gt;In case you see that you cant navigate in between the tabs on the demo pages , fire up visual Studio 2005 and you should be able to see &lt;/p&gt; &lt;p&gt;the source code right there.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;So , Download it and go crazy !!! &lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4958118" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>How to : Re-use Animation Extenders in a page</title><link>http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx</link><pubDate>Wed, 15 Aug 2007 19:11:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4402035</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/4402035.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=4402035</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://cid-925c2d2bb2d03c6b.skydrive.live.com/self.aspx/Public/ReuseAnimations.zip" target="_blank"&gt;Download Sample Code :&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;while working with the AnimationExtender on an ASPX Page ,One would run into a scenario wherein you would need to associate the same animation with multiple&amp;nbsp; Elements on the page.&lt;/p&gt; &lt;p&gt;Some Examples are :&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Associate an Animation&amp;nbsp; with the rows of a GridView.  &lt;li&gt;Associate an Animation with probably multiple panels on the same page.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Today , we will discuss how to re-use a&amp;nbsp; single AnimationExtender in&amp;nbsp; a few possible Scenarios.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx#SameAnimationDifferentControls"&gt;Trigger the same Animation From Different Controls&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx#modifyAnimationTarget"&gt;Modify the AnimationTarget on which you want the animation to run &lt;/a&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx#CombinationAB"&gt;Multiple TargetControlIDs and Multiple AnimationTargets&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;a name="SameAnimationDifferentControls"&gt;a) Trigger the same Animation From Different Controls&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This section will address the scenario wherein you would have an animation which is defined to animate a specific element.&lt;/p&gt; &lt;p&gt;And you would want different Elements on the Page to trigger the same animation on the element.&lt;/p&gt; &lt;p&gt;Here , we would be simulating a scenario wherein one would probably want to assign &lt;u&gt;&lt;strong&gt;Multiple TargetControlIDs &lt;/strong&gt;&lt;/u&gt;to an animation.&lt;/p&gt; &lt;p&gt;The TargetControlID Specifies the control that Kicks-off the animation.&lt;/p&gt; &lt;p&gt;If an AnimationTarget is not Specified , then it is the control which will be animated.&lt;/p&gt; &lt;p&gt;We will have the Following Elements :&lt;/p&gt; &lt;p&gt;a) A button to trigger the animation : &lt;/p&gt;&lt;pre class="csharpcode"&gt; &lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button One--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger One"&lt;/span&gt; &lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;b) A Div/ASP:Panel which will be animated onClick of the Button &lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt; &lt;span class="rem"&gt;&amp;lt;!-- The Panel which will be animated--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Panel&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;="position: absolute; top: 100px;
            left: 50px; height: 200px; width: 150px; background-color: #99ccff;"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Panel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;The Animation Markup will be as shown below :&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Markup for the animation Extender--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The Div pnlAnimated will resize to height and width 400 and 
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
back to 380 and then 400 again to provide an Easing effect .&lt;/p&gt;
&lt;p&gt;Let's Say that&amp;nbsp; you need to trigger the same animation by clicking on another button&amp;nbsp; and you would want to do this without having to create a New AnimationExtender on the same page.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button two--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerTwo"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger Two"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;a.1) Client Side :&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt; : Assign a BehaviorID to the AnimationExtender if not already present.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: Assign an OnClientClick function to the btnAnimateTriggerTwo button .&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="ChangeAnimationTarget();return false;"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; The Function ChangeAnimationTarget() which will trigger the animation to be played.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language =&lt;span class="str"&gt;"javascript"&lt;/span&gt; type =&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
   &lt;span class="kwrd"&gt;function&lt;/span&gt; ChangeAnimationTarget() {
       $find(&lt;span class="str"&gt;"animateMe"&lt;/span&gt;).get_OnClickBehavior().play();
    }
 &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;This will cause the animation already defined on the TargetControl of btnAnimateTriggerOne to be played onclick of the &lt;/pre&gt;&lt;pre class="csharpcode"&gt;button btnAnimateTriggerTwo.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;In a similar way you can add any number of triggers to the same AnimationExtender.&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;a.2) Server Side :&lt;/strong&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Step 1: &lt;/strong&gt;Put the Above Controls inside the ContentTemplate of an UpdatePanel .&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Step 2: &lt;/strong&gt;On the Server-Side you can switch the TargetControl by running the following code.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ChangeAnimationTarget()
    {
        AnimationExtender1.TargetControlID = btnAnimateTriggerTwo.ID;
        btnAnimateTriggerTwo.OnClientClick = &lt;span class="str"&gt;"return false;"&lt;/span&gt;;
    }&lt;/pre&gt;&lt;pre class="csharpcode"&gt;  &lt;strong&gt;Step 3: &lt;/strong&gt;Now , the TargetControlId has changed and upon clicking on the button btnAnimateTriggerTwo, the animation will run.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;  In this case , you would have to switch the AnimationTarget BEFORE you want the animation to run.&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;b)
&lt;a name="modifyAnimationTarget"&gt;Modify the AnimationTarget on which you want the animation to run&lt;/a&gt; &lt;/strong&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;let's consider a scenario in which you would want the same Animation to run on 2 or more different Elements.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;For the sake of simplicity , lets consider that you would want to run the above ResizeAnimation on &lt;/pre&gt;&lt;pre class="csharpcode"&gt;another asp:Panel by the name of &lt;strong&gt;pnlAnimatedToo &lt;/strong&gt; and you want to do this without having to create another AnimationExtender on the same page.&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;b.1) Client Side :&lt;/strong&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 1 : &lt;/strong&gt;You will have to change the markup of the AnimationExtender to look like this :&lt;/pre&gt;&lt;pre class="csharpcode"&gt; Change the AnimationTarget Attribute to be AnimationTargetScript ="getAnimationTarget();".&lt;/pre&gt;&lt;pre class="csharpcode"&gt;This will cause the function getAnimationTarget() to be called whenever the AnimationExtender runs.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;and getAnimationTarget() will return the ID of the Control that should be animated.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 2 : &lt;/strong&gt;Assign the Following function as OnClientClick handler of the Button btnAnimateTriggerOne.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="setAnimationTarget();return false;"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Function setAnimationTarget sets the ID of the AnimationTarget for the AnimationExtender.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 3: &lt;/strong&gt;The Definition of the functions getAnimationTarget() and setAnimationTarget().&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language =&lt;span class="str"&gt;"javascript"&lt;/span&gt; type =&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
 &lt;span class="kwrd"&gt;var&lt;/span&gt; currentAnimationTarget =&lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt;;
            
&lt;span class="kwrd"&gt;function&lt;/span&gt; getAnimationTarget() {
    &lt;span class="kwrd"&gt;return&lt;/span&gt; currentAnimationTarget;
}
&lt;span class="kwrd"&gt;function&lt;/span&gt; setAnimationTarget() {
  currentAnimationTarget = currentAnimationTarget === &lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt; ? &lt;span class="str"&gt;"pnlAnimatedToo"&lt;/span&gt;:&lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt;;
}
&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;In this example, the animationTarget will alternate between pnlAnimated and pnlAnimatedToo.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;You can implement your own logic into the above functions for your implementation.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;strong&gt;c) Combination of a) and b) &lt;/strong&gt;, i.e you would want to use the same animationExtender to trigger the same animations on different elements onClick of two different Buttons.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;strong&gt;&lt;a name="CombinationAB"&gt;Multiple TargetControlIDs and Multiple AnimationTargets.&lt;/a&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;For instance , in the above example , if you would want to &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;Animate pnlAnimated onClick of btnAnimateTriggerOne&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;and &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;Animate pnlAnimatedToo onClick of btnAnimateTriggerTwo.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;And you would want to do all of this Without creating a new AnimationExtender on the same page.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;strong&gt;Step 1: &lt;/strong&gt;Assign the OnClientClick of the Two buttons to be as below :&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button One--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger One"&lt;/span&gt; 
&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="&lt;font size="3"&gt;setAnimationTargetValue('pnlAnimated');&lt;/font&gt;return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        
&lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button two--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerTwo"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger Two"&lt;/span&gt; 
&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="&lt;font size="3"&gt;setAnimationTargetValue('pnlAnimatedToo');SwitchTargetControl();&lt;/font&gt;return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 2: &lt;/strong&gt;Change the Markup of the AnimationExtender to replace AnimationTarget to be AnimationTargetScript.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 3: &lt;/strong&gt;The Definition for the JavaScript Functions.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language =&lt;span class="str"&gt;"javascript"&lt;/span&gt; type =&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
            &lt;span class="kwrd"&gt;function&lt;/span&gt; SwitchTargetControl() {
                $find(&lt;span class="str"&gt;"animateMe"&lt;/span&gt;).get_OnClickBehavior().play();
            }
            
            &lt;span class="kwrd"&gt;var&lt;/span&gt; currentAnimationTarget =&lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt;;
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; getAnimationTarget() {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; currentAnimationTarget;
            }
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; setAnimationTargetValue( value ) {
                currentAnimationTarget  = value;
            }
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4402035" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category></item><item><title>Scripting Animations from the Ms Ajax AnimationExtender</title><link>http://blogs.msdn.com/phaniraj/archive/2007/05/31/scripting-animations-from-the-ms-ajax-animationextender.aspx</link><pubDate>Fri, 01 Jun 2007 00:54:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3013645</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/3013645.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=3013645</wfw:commentRss><description>&lt;h1&gt;&lt;/h1&gt; &lt;p&gt;An ignored / unknown / very useful&amp;nbsp; feature of the animation Framework is that it allows you to control the animation as its playing.&lt;/p&gt; &lt;p&gt;You can &lt;strong&gt;&lt;u&gt;Play, Pause , Resume , Stop and Quit&amp;nbsp;&lt;/u&gt;&lt;/strong&gt; an Animation Instance by using appropriate methods in JavaScript.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Setting up the Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Animation we will be playing is a Length Animation on a DIV element with ID "&lt;font color="#ff0000"&gt;divMovable&lt;/font&gt;".&lt;/p&gt; &lt;p&gt;The DIV will Increase in length from 200 px to 550px over a duration of 1.5 Seconds OnClick of the DIV.&lt;/p&gt; &lt;h3&gt;Markup For Div&lt;/h3&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="demoDivYellow"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    I Move Away
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;span class="kwrd"&gt;Markup for the Animation Extender&lt;/span&gt;&lt;/h3&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="controlledAnimation"&lt;/span&gt;
                        &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
             &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="1.5"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="40"&lt;/span&gt; 
                            &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt;  &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; 
                            &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt;  &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="550"&lt;/span&gt; 
                            &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
         &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;Notice that the AnimationExtender has the BehaviorID assigned to be "&lt;font color="#0000ff"&gt;&lt;strong&gt;controlledAnimation&lt;/strong&gt;&lt;/font&gt;".&lt;/p&gt;
&lt;p&gt;We will be accessing the Control Methods using this BehaviorID.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Playing An Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can trigger an animation to start playing by calling the &lt;font color="#ff0000"&gt;&lt;strong&gt;play&lt;/strong&gt;&lt;/font&gt; method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; playAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;font color="#008040"&gt;&lt;font size="4"&gt;&lt;strong&gt;onclkBehavior.play();&lt;/strong&gt;&lt;/font&gt;
&lt;/font&gt;        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Pausing An Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can Pause an animation by calling the&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;strong&gt;pause&lt;/strong&gt;&lt;/font&gt; method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; pauseAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;strong&gt;&lt;font color="#008000" size="4"&gt;onclkBehavior.pause();&lt;/font&gt;&lt;/strong&gt;
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Resuming a Paused Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can Resume a Paused Animation by calling its &lt;font color="#ff0000"&gt;&lt;strong&gt;play&lt;/strong&gt;&lt;/font&gt; Method again :) .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Stopping A Playing&amp;nbsp;Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can Stop&amp;nbsp;a playing animation by calling the&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;strong&gt;stop &lt;/strong&gt;&lt;/font&gt;method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; stopAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;font color="#008040" size="4"&gt;&lt;strong&gt;onclkBehavior.stop();&lt;/strong&gt;&lt;/font&gt;
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Quitting A Playing Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can quit&amp;nbsp; playing an animation by calling the&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;strong&gt;quit &lt;/strong&gt;&lt;/font&gt;method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; quitAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;font color="#008040" size="4"&gt;&lt;strong&gt;onclkBehavior.quit();&lt;/strong&gt;&lt;/font&gt;
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;What's the Difference between Stop and Quit ?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Copied Text from the Remarks section of the &lt;strong&gt;&lt;u&gt;Quit&lt;/u&gt;&lt;/strong&gt; Function from AnimationBehavior.JS&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="str"&gt;"Quit differs from the stop function which will update the final state.  The
quit function is most useful for scenarios where you're toggling back and forth
between two animations , like those used in OnHoverOver or OnHoverOut, and
 you don't want to completely finish one animation if its counterpart is triggered"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;&lt;u&gt;Complete Sample&lt;/u&gt;&lt;/strong&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page Language="C#" AutoEventWireup="true"%&amp;gt;&lt;/span&gt;
&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit, Version=1.0.10123.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"
    Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="Head1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Controlling Animation With JavaScript&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior ;
        &lt;span class="kwrd"&gt;function&lt;/span&gt; pageLoad()
        {
            onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; playAnimation() {
            
            onclkBehavior.play();
            $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Playing.."&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; pauseAnimation()
        {
        
           onclkBehavior.pause();
           $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Paused.."&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; stopAnimation() {
            onclkBehavior.stop();
            $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Stopped.."&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; quitAnimation()
        {
            $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().quit();
            $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Quit.."&lt;/span&gt;;
        }
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmScripting"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="playAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnPlayAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Play"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="pauseAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnPauseAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Pause"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="stopAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnStopAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Stop"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="quitAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnQuitAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Quit"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="lblCurrentStatus"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="demoDivYellow"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    I Move Away
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="controlledAnimation"&lt;/span&gt;
    &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="1.5"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="40"&lt;/span&gt; 
                    &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt;  &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; 
                    &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt;  &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="550"&lt;/span&gt; 
                    &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;font color="#000000" size="4"&gt;Hope this helps someone out there!&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3013645" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Some Useful Links from the  ASP.NET Ajax Forums</title><link>http://blogs.msdn.com/phaniraj/archive/2007/05/10/some-useful-links-from-the-asp-net-ajax-forums.aspx</link><pubDate>Thu, 10 May 2007 23:50:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2529912</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/2529912.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=2529912</wfw:commentRss><description>&lt;p&gt;Hi ,&lt;/p&gt; &lt;p&gt;Over the past couple of months, I have been actively contributing to the Asp.net Ajax forums and have come across some very &lt;/p&gt; &lt;p&gt;&amp;nbsp;weird and challenging problems to solve.Anyone who's been at the forums can tell, the community is VERY Active and helpful when it comes to helping&lt;/p&gt; &lt;p&gt;out your fellow developer . Below is a list of some FAQs that I often encountered and was able to address on the&amp;nbsp; Forums .&lt;/p&gt; &lt;p&gt;Helping someone out with a brain-bender they are stuck on and seeing the issue resolved after some brainstorming is VERY satisfying.&lt;/p&gt; &lt;p&gt;Why am I doing this ? &lt;/p&gt; &lt;p&gt;There is a lot of content on the Forums and I wanna share what I learnt and was able to share with my fellow devs.&lt;/p&gt; &lt;p&gt;Also, I could have blogged about this but felt that its better to point you guys to the place where we learnt about this .&lt;/p&gt; &lt;p&gt;You might find some content duplicated from my Blog , as far as possible I have tried to avoid that and give you guys the unique ones that I have seen.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;a title="Tough ModalPopup Extender Question ( My Favorite )" href="http://forums.asp.net/thread/1578347.aspx" target="_blank"&gt;Tough ModalPopup Extender Question ( My Favorite )&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Assigning Multiple Triggers to an AnimationExtender" href="http://forums.asp.net/thread/1679613.aspx" target="_blank"&gt;Assigning Multiple Triggers to an AnimationExtender&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Execute JavaScript on the client Side Before Showing a ModalPopup" href="http://forums.asp.net/thread/1667827.aspx"&gt;Execute JavaScript on the client Side Before Showing a ModalPopup&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://forums.asp.net/thread/1457306.aspx" target="_blank"&gt;Expand Accordion Pane WITHOUT clicking the header&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Animate an Element's Property in JavaScript" href="http://forums.asp.net/thread/1623283.aspx" target="_blank"&gt;Animate an Element's Property in JavaScript&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Using client side calculated sizes for the Resize animation" href="http://forums.asp.net/thread/1612703.aspx" target="_blank"&gt;Using client side calculated sizes for the Resize animation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Prevent repeat animation (animationextender) / ConditionalAnimation" href="http://forums.asp.net/thread/1621738.aspx" target="_blank"&gt;Prevent repeat animation (animationextender) / ConditionalAnimation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="How do I use Animation without server-side controls? (mission impossible??)" href="http://forums.asp.net/thread/1578357.aspx" target="_blank"&gt;How do I use Animation without server-side controls? (mission impossible??)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Hyperlink to a page with Accordion and opening a specific pane" href="http://forums.asp.net/thread/1601837.aspx" target="_blank"&gt;Hyperlink to a page with Accordion and opening a specific pane&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Change visible Accordion Pane using  JavaScript" href="http://forums.asp.net/thread/1597085.aspx" target="_blank"&gt;Change visible Accordion Pane using JavaScript&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Combine Animate and Modal dialog functionality" href="http://forums.asp.net/thread/1597036.aspx" target="_blank"&gt;Combine Animate and Modal dialog functionality&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Create ModalPopupExtender control dynamically client side" href="http://forums.asp.net/thread/1581774.aspx" target="_blank"&gt;Create ModalPopupExtender control dynamically client side&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As time goes by , I will be putting up another list of issues that I helped on , &lt;/p&gt; &lt;p&gt;these are the unique ( sort-of ) ones that I could find out of all the ones that I answered .&lt;/p&gt; &lt;p&gt;If you are not a part of the Forums , get yourself an account and start helping out !&lt;/p&gt; &lt;p&gt;Hope this helps someone out there !&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2529912" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AutoCompleteExtender/default.aspx">AutoCompleteExtender</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/ModalPopupExtender/default.aspx">ModalPopupExtender</category></item><item><title>MS AJAX AnimationExtender : How Many Ways Do I Play thee ? ( Updated )</title><link>http://blogs.msdn.com/phaniraj/archive/2007/04/13/animations-how-many-ways-do-i-call-thee.aspx</link><pubDate>Fri, 13 Apr 2007 17:23:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2115203</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/2115203.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=2115203</wfw:commentRss><description>&lt;p&gt;We will discuss the various ways&amp;nbsp; in which one can animate a visual element using the MS AJAX Animation.&lt;/p&gt; &lt;p&gt;The Example would be to resize a div named "queryReply" to have a height of 100px and width of 200px On&amp;nbsp;Click of the&amp;nbsp; Div&amp;nbsp;.&lt;/p&gt; &lt;p&gt;1) &lt;strong&gt;The Simplest Way&amp;nbsp; , Markup &lt;/strong&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanes"&lt;/span&gt; 
        &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="queryReply"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanesBehavior"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;FPS&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.3"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;This would be the easiest way to&amp;nbsp;attach &amp;nbsp;an animation (&amp;nbsp;ReSize ) to a control&amp;nbsp; ( QueryReply )&amp;nbsp;on an Event ( &lt;span class="html"&gt;OnClick &lt;/span&gt;) .&lt;/p&gt;
&lt;p&gt;When the Div &amp;nbsp;is clicked , the Control "queryReply" is resized to have a height of 100 px and a width of 200px.&lt;/p&gt;
&lt;p&gt;2) The "Not So Simple" Ways via javascript&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a) Call the Static PLAY Method &amp;nbsp;of the Animation Framework to Animate the Control .&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!--AjaxControlToolkit.Animation.ResizeAnimation.play(target, duration, fps, width, height, unit);--&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Play the Animation by calling its static methods&lt;/span&gt;
AjaxControlToolkit.Animation.ResizeAnimation.play( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.3 , 25 , 100 , 300 , &lt;span class="str"&gt;"px"&lt;/span&gt; );
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;The Animation will play immediately after this line.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;b) Create an Instance of the Client-Side Animation Extenders to Animate the Control .&lt;/strong&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!--Constructor: new AjaxControlToolkit.Animation.ResizeAnimation(target, duration, fps, width, height, unit); --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Create an instance of the ReSize Animation&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; resizeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; AjaxControlToolkit.Animation.ResizeAnimation( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.3 , 25 , 100 , 300 , &lt;span class="str"&gt;"px"&lt;/span&gt;);
&lt;span class="rem"&gt;//Play the Animation just created&lt;/span&gt;
resizeAnimation.play(); &lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;c) Selectively playing the Animation Already defined in Markup for an AnimationExtender on the Page.&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Lets say that you already have animation defined on your page in markup and you want to trigger the animation using Script .&lt;/div&gt;
&lt;div&gt;You achieve this by :&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp; 1) Get a handle to the AnimationExtender's Behavior by using the "$find" method.&lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get a handle to the Animation Behavior&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; behaveYourself       = $find(&lt;span class="str"&gt;"animateReplyPanesBehavior"&lt;/span&gt;);
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&amp;nbsp;&amp;nbsp; 2) Based on where the animation is defined ( Onload , OnClick , OnHover&amp;nbsp;, whatever&amp;nbsp;), get a handle to the child Animation Definition.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get the Animation to be played onClick of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onClickAnimation     = behaveYourself.get_OnClickBehavior();
&lt;span class="rem"&gt;//Get the Animation to be played onLoad of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onLoadAnimation     = behaveYourself.get_OnLoadBehavior();
&lt;span class="rem"&gt;//Get the Animation to be played onHover of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onHoverAnimation     = behaveYourself.get_OnHoverBehavior();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&amp;nbsp;&amp;nbsp; 3) Call the "Play" method on the&amp;nbsp; required Animations Definition.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Play the Animation defined  onClick of the TargetControl &lt;/span&gt;
onClickAnimation.play();
&lt;span class="rem"&gt;//Play the Animation defined  onLoad of the TargetControl &lt;/span&gt;
onLoadAnimation.play();
&lt;span class="rem"&gt;//Play the Animation defined  onHover of the TargetControl &lt;/span&gt;
onHoverAnimation.play();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;d) Set the JSON String for an existing Animation Extender &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once you declare the Markup as above, you can access the animations that are assigned to the Extender by using the "get_&amp;lt;Event&amp;gt;" Methods on the Behavior .&lt;/p&gt;
&lt;p&gt;EX:&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get a handle to the Animation Behavior&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; behaveYourself       = $find(&lt;span class="str"&gt;"animateReplyPanesBehavior"&lt;/span&gt;);
&lt;span class="rem"&gt;//Get the Animation to be played onClick of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onClickAnimation     = behaveYourself.get_OnClickBehavior();&lt;/pre&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;Once you have the respective Animation Behavior , you can use the "set_&amp;lt;EVENT&amp;gt;" method to set the Animation JSON String .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Json String is constucted like this :&lt;/pre&gt;&lt;pre class="csharpcode"&gt;"{
     "AnimationName":"ReSize",
     "Height":"100px",&lt;/pre&gt;&lt;pre class="csharpcode"&gt;     "width":"200px",   
     "unit":"px",
     "duration":"0.3",
     "AnimationTarget":"queryReply",
     "AnimationChildren":[]
 }"&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The AnimationName is the Name of the Animation that you want run .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The AnimationChildren is supposed to be an array of child animations .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The ReSize animation cannot have Child Animations, so the array is empty.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;So, once you have the JSON String, we use the "Set_&amp;lt;Event&amp;gt;" function to set the JSON property of the animation.&lt;/pre&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Construct the JSON String&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; jsonAnimationString =&lt;span class="str"&gt;"{\"AnimationName\":\"ReSize\",\"Height\":\"100px\", "&lt;/span&gt;+
&lt;span class="str"&gt;"\"Width\":\"200\",\"unit\":\"px\",\"duration\":\"0.1"&lt;/span&gt; +
&lt;span class="str"&gt;"\",\"AnimationTarget\":\"queryReply\",\"AnimationChildren\":[]}"&lt;/span&gt;;
&lt;span class="rem"&gt;//Set the JSON of the AnimationExtender to be the JSON String&lt;/span&gt;
behaveYourself.set_OnClick( jsonAnimationString );
&lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
onClickAnimation.play();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Complete Example :&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ways to Call Animations&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmAnimations"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        
            &lt;span class="kwrd"&gt;function&lt;/span&gt; callStaticMethods(){
            &lt;span class="rem"&gt;//Play the Animation by calling its static methods&lt;/span&gt;
            AjaxControlToolkit.Animation.ResizeAnimation.play( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.2 , 45 , 200 , 100 , &lt;span class="str"&gt;"px"&lt;/span&gt; );
            }
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; createInstanceAndPlay(){
            &lt;span class="rem"&gt;//Create an instance of the ReSize Animation&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; resizeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; AjaxControlToolkit.Animation.ResizeAnimation( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.2 , 45 , 200 , 100 , &lt;span class="str"&gt;"px"&lt;/span&gt;);
            &lt;span class="rem"&gt;//Play the Animation just created&lt;/span&gt;
            resizeAnimation.play(); 
            }
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; SetJSONStringThenPlay(){
            &lt;span class="rem"&gt;//Get a handle to the Animation Behavior&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; behaveYourself       = $find(&lt;span class="str"&gt;"animateReplyPanesBehavior"&lt;/span&gt;);
            &lt;span class="rem"&gt;//Get the Animation to be played onClick of the TargetControl &lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onClickAnimation     = behaveYourself.get_OnClickBehavior();
            &lt;span class="rem"&gt;//Construct the JSON String&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; jsonAnimationString =&lt;span class="str"&gt;"{\"AnimationName\":\"ReSize\",\"Height\":\"100px\", "&lt;/span&gt;+
            &lt;span class="str"&gt;"\"Width\":\"200\",\"unit\":\"px\",\"duration\":\"0.1"&lt;/span&gt; +
            &lt;span class="str"&gt;"\",\"AnimationTarget\":\"queryReply\",\"AnimationChildren\":[]}"&lt;/span&gt;;
            &lt;span class="rem"&gt;//Set the JSON of the AnimationExtender to be the JSON String&lt;/span&gt;
            behaveYourself.set_OnClick( jsonAnimationString );
            &lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
            onClickAnimation.play();
            }
            
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Call Static Play Method"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="callStaticMethods();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Create Instance And Play"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="createInstanceAndPlay();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Set JSON String then Play"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="SetJSONStringThenPlay();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="queryReply"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color: #ffcc00; position: absolute;
            top: 100px; left: 100px; height: 300px; width: 300px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            Click me to resize me ( Uses Markup )
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="ScriptManager1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanes"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="queryReply"&lt;/span&gt;
            &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanesBehavior"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;Hope I helped someone out there looking For this information .&lt;/p&gt;
&lt;p&gt;Well, Happy Coding !!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2115203" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Expirements with Ms AJAX 1 : Plot a Path and follow it</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/26/expirements-with-ms-ajax-1-plot-a-path-and-follow-it.aspx</link><pubDate>Mon, 26 Mar 2007 11:50:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1950974</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1950974.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1950974</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterEditableSmartContent" id="d49da610-fc34-4988-88d9-3c0a788fd878:e1993fb9-3c44-454f-802d-f718bef150d4" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;embed name="msn_soapbox" pluginspage="http://macromedia.com/go/getflashplayer" src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" width="412" height="362" type="application/x-shockwave-flash" quality="high" wmode="transparent" flashvars="c=v&amp;amp;v=62373c16-4fc1-49f1-9847-edb2c429952a"&gt;&lt;/embed&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;While working on some documentation and presentations for MS AJAX Animation ( wait for it , its gonna rock !!&amp;nbsp;) , I made what you see in the demo video.&lt;/p&gt; &lt;p&gt;Its basic premise is this :&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Allow the User to plot points on a plane  &lt;li&gt;Then trigger an animation that goes over all the points&amp;nbsp; and stops&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Why do this ?&lt;/p&gt; &lt;p&gt;No&amp;nbsp;Perceptible use , pure fun factor&amp;nbsp;.&lt;/p&gt; &lt;p&gt;I just though that it'd be cool to control an animation by clicking on points and asking an element to go to those points .&lt;/p&gt; &lt;p&gt;Well, here you have it .&lt;/p&gt; &lt;p&gt;Once the demo is hosted, you can see the same as an online app.&lt;/p&gt; &lt;p&gt;Take a look at a screenshot .&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/1528719273ab_C948/PlotaPath%5B4%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="400" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/1528719273ab_C948/PlotaPath_thumb%5B2%5D.jpg" width="516" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Lets see how we can achieve this ..&lt;/p&gt; &lt;p&gt;We need the following functionality &lt;/p&gt; &lt;ol&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp; Allow the User to plot an arbitrary number of points on a plane  &lt;li&gt;&amp;nbsp; Create an animation that moves to all the points.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;1.Allow the User to plot an arbitrary number of points on a plane &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;The "Plane"&amp;nbsp; would be a DIV element on the page. &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="pathPallette"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;The user plots a point on the plane by clicking on the plane.&lt;/p&gt;
&lt;p&gt;We will have a global collection of points called pointsInpath which will be a javaScript array .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; pointsInPath = &lt;span class="kwrd"&gt;new&lt;/span&gt; Array();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;We can attach an eventhandler to the Click event of the Div by using the $addHandler function of the Ms AJAX framework&amp;nbsp; explained &lt;a href="http://ajax.asp.net/docs/ClientReference/Global/AddHandlerShortcutMethod.aspx"&gt;Here&lt;/a&gt;&amp;nbsp;.&lt;/p&gt;&lt;pre class="csharpcode"&gt;Syntax: $addHandler(element, eventName, handler);&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;$addHandler($get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;),&lt;span class="str"&gt;"click"&lt;/span&gt;,markPoint);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;We will now define the function "markPoint".&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; markPoint(eventArg)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; evt = window.&lt;span class="kwrd"&gt;event&lt;/span&gt; || eventArg;   &lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; xCoOrd = evt.clientX ;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; yCoOrd = evt.clientY ;&lt;/pre&gt;&lt;pre&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;    Addpoint( xCoOrd , yCoOrd );&lt;/pre&gt;&lt;pre&gt;    createMarker( xCoOrd - $get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;).offsetLeft , yCoOrd - $get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;).offsetTop );&lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;MarkPoint&amp;nbsp; calls 2 functions .&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;AddPoint&amp;nbsp; , to add the point to a collection of points 
&lt;li&gt;Createmarker ,to&amp;nbsp; mark the spot as a point on the plane which will be visited by the Animated element&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;AddPoint&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; Addpoint( xCoOrd,yCoOrd)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    anyMorePoints= &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    pointsInPath[index++] = &lt;span class="str"&gt;"{\"X\" : \""&lt;/span&gt;+xCoOrd +&lt;span class="str"&gt;"\",\"Y\":\""&lt;/span&gt;+yCoOrd +&lt;span class="str"&gt;"\"}"&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;The AddPoint function recieves the X and Y co-ordinates of the Point in the Element's Path.&lt;/p&gt;
&lt;p&gt;Add the Point to the existing points collection.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Createmarker &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; createMarker( xCoOrd,yCoOrd )&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; newmarker = document.createElement(&lt;span class="str"&gt;"SPAN"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;    newmarker.id = &lt;span class="str"&gt;"marker"&lt;/span&gt;+markeridCounter;    &lt;/pre&gt;&lt;pre class="alt"&gt;    newmarker.className =&lt;span class="str"&gt;"white"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    newmarker.innerText = markeridCounter;&lt;/pre&gt;&lt;pre class="alt"&gt;    $get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;).appendChild( newmarker );&lt;/pre&gt;&lt;pre&gt;    Sys.UI.DomElement.setLocation( newmarker , xCoOrd , yCoOrd );&lt;/pre&gt;&lt;pre class="alt"&gt;    markeridCounter++;&lt;/pre&gt;&lt;pre&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;This Function creates a &amp;lt;SPAN&amp;gt; element , writes the point # in the span , and positions it in the plane.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;2.Create an animation that moves to all the points&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;u&gt;Basic algorithm for this step&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp; Get the Point to navigate to 
&lt;li&gt;&amp;nbsp;&amp;nbsp; Set the animation to move to the next point 
&lt;li&gt;&amp;nbsp; Play the animation until there are no more points left &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;The Element that will move to all the points will be another div ( "divMovable" )&amp;nbsp;with a background color&amp;nbsp; assigned to it &lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height: 15px; width: 15px; position: absolute;
          top: 300px; left: 300px; background-color: #ffcc00;"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The Animation Markup would be to use the Move Animation to move the Element along the points.&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="controlledAnimation"&lt;/span&gt;
            &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;  &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="40"&lt;/span&gt;   
                        &lt;span class="attr"&gt;horizontalScript&lt;/span&gt; &lt;span class="kwrd"&gt;="getX()"&lt;/span&gt; &lt;span class="attr"&gt;verticalScript&lt;/span&gt; &lt;span class="kwrd"&gt;="getY()"&lt;/span&gt;
                      &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;The MoveAnimation would run only once and would also move to only one point , we need to keep changing the destination Points.&lt;/p&gt;
&lt;p&gt;If you notice the horizontalScript ="getX()" verticalScript ="getY()"&amp;nbsp; snippet , the "Script" attribute added to any attribute in the Animation Markup&lt;/p&gt;
&lt;p&gt;would cause the expression to be "eval"ed at runtime allowing us to use Expressions to set properties.&lt;/p&gt;
&lt;p&gt;So, right , the&amp;nbsp; horizontal (X) co-ordinates&amp;nbsp; would be retrieved from the function getX().&lt;/p&gt;
&lt;p&gt;The Vertical (Y) co-ordinates would be retrieved from the function getY().&lt;/p&gt;
&lt;p&gt;The&amp;nbsp; next point the element should move to would be represented by&amp;nbsp; "nextPoint".&lt;/p&gt;
&lt;p&gt;The Function "setNextPoint()" would set the next point in the path.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; getX()
{
    &lt;span class="kwrd"&gt;if&lt;/span&gt;( nextPoint == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
    {
        setNextPoint();
    }
    &lt;span class="kwrd"&gt;return&lt;/span&gt; nextPoint.X;
}&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;p&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; getY()
{
    &lt;span class="kwrd"&gt;return&lt;/span&gt; nextPoint.Y;
}
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt;
&lt;p&gt;Once we get the next point to move to , the animation should repeat with the new values for X and Y Co-Ordinates.&lt;/p&gt;
&lt;p&gt;We do this , by hooking a handler to the Ending event of the Animation.&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt;
       &lt;span class="kwrd"&gt;var&lt;/span&gt; OnClickBehavior ;
       &lt;span class="kwrd"&gt;function&lt;/span&gt; pageLoad()
       {
           OnClickBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
           OnClickBehavior.add_ended(continueAnimating);
           $addHandler($get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;),&lt;span class="str"&gt;"click"&lt;/span&gt;,markPoint);
      }
  
   &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;We can hook eventhandlers to the ending event of the Animation by&amp;nbsp; using the "add_ended" method.&lt;/div&gt;
&lt;div&gt;Here , we add the "continueAnimating" function as an eventhandler to the Animation Ending&amp;nbsp; event.&lt;/div&gt;
&lt;div&gt;Then , we call the "play" method on the animation just as it ends, to give a seamless&amp;nbsp;feel to the flow as the element moves along different points.&lt;/div&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; continueAnimating(){
     setNextPoint(); 
     &lt;span class="kwrd"&gt;if&lt;/span&gt;( nextPoint!= &lt;span class="kwrd"&gt;null&lt;/span&gt;){
        OnClickBehavior.play();
     }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Trigger the complete animation sequence by calling the "play" method on the OnclickBehavior &lt;/div&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; playAnimation()
{
    ResetPoints();
    hideAllmarkers();
    setNextPoint();
    OnClickBehavior.play();  
}&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;There you have it , fun and a pretty&amp;nbsp; neat exercise in geometry and also shows you how easy it is to do complex stuff with the MS Ajax Framework.&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1950974" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>How To : Using MS AJAX CaseAnimation in your applications</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/21/how-to-using-ms-ajax-caseanimation-in-your-applications.aspx</link><pubDate>Wed, 21 Mar 2007 07:08:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1923080</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1923080.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1923080</wfw:commentRss><description>&lt;p&gt;I hang out at the forums a lot .( &lt;a title="http://forums.asp.net/1022/ShowForum.aspx" href="http://forums.asp.net/1022/ShowForum.aspx"&gt;http://forums.asp.net/1022/ShowForum.aspx&lt;/a&gt;&amp;nbsp;), I&amp;nbsp;go by &amp;nbsp;phanatic.&lt;/p&gt; &lt;p&gt;Looking at a couple of threads let me know that there are no examples of the caseAnimation anywhere :-(&lt;/p&gt; &lt;p&gt;Ok, so I built a simple sample which illustrates the use of a CaseAnimation .&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;See demo here &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="d49da610-fc34-4988-88d9-3c0a788fd878:7ea9a5f6-314f-455f-9795-a3ab22217d1a" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;embed src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" quality="high" width="412" height="362" wmode="transparent" name="msn_soapbox" type="application/x-shockwave-flash" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=e68c5d0a-bd7d-4dbf-87e8-10f427e7303c"&gt;&lt;/embed&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;So , here we go ....&lt;/p&gt; &lt;p&gt;1) Add a reference to the AjaxControlToolkit to your page.&lt;/p&gt; &lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;2) Add the AnimationExtender's Markup.&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateDiv"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimate"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;3) We will trigger the animation on the Click of a button &lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;4) The Markup for the Case Animation.&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt; &lt;span class="attr"&gt;SelectScript&lt;/span&gt;&lt;span class="kwrd"&gt;="ReturnAnimationIndexToPlay()"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;The SelectScript is used to return an index of the child animation to play.&lt;/p&gt;
&lt;p&gt;The indices are Zero-based.&lt;/p&gt;
&lt;p&gt;5) Under the&amp;nbsp; Case Animation , we will put in a couple of child animations .&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;  &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt; &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; &lt;span class="attr"&gt;Fps&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;Horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="500"&lt;/span&gt;  &lt;span class="attr"&gt;Vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="attr"&gt;Relative&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="attr"&gt;Unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;  &lt;span class="attr"&gt;MinimumOpacity&lt;/span&gt; &lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;MaximumOpacity&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   &lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;6) End Tags&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;7) The SelectScript Function ,&amp;nbsp; &lt;strong&gt;ReturnAnimationIndexToPlay.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:&lt;/span&gt; &amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:&lt;/span&gt;             &lt;span class="kwrd"&gt;var&lt;/span&gt; animIndex = -1;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:&lt;/span&gt;             &lt;span class="kwrd"&gt;function&lt;/span&gt; ReturnAnimationIndexToPlay()&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:&lt;/span&gt;             {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:&lt;/span&gt;                 animIndex++;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:&lt;/span&gt;                 animIndex = ( animIndex ) % 3;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:&lt;/span&gt;                 &lt;span class="kwrd"&gt;return&lt;/span&gt; animIndex;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:&lt;/span&gt;             }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:&lt;/span&gt;         &lt;/pre&gt;&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Complete Markup .&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Case Animation Demo&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;link&lt;/span&gt; &lt;span class="attr"&gt;rel&lt;/span&gt;&lt;span class="kwrd"&gt;="stylesheet"&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="../css/defaultStyles.css"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/css"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        div { position:absolute;}
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmCaseAnimation"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; animIndex = -1;
            &lt;span class="kwrd"&gt;function&lt;/span&gt; ReturnAnimationIndexToPlay()
            {
                animIndex++;
                animIndex = ( animIndex ) % 3;
                &lt;span class="kwrd"&gt;return&lt;/span&gt; animIndex;
            }
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="ScrpManager"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimate"&lt;/span&gt; &lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="return false;"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Animate Using Case Animation"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateDiv"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimate"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt; &lt;span class="attr"&gt;SelectScript&lt;/span&gt;&lt;span class="kwrd"&gt;="ReturnAnimationIndexToPlay()"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;  &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt; &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; &lt;span class="attr"&gt;Fps&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;Horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="500"&lt;/span&gt;  &lt;span class="attr"&gt;Vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="attr"&gt;Relative&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="attr"&gt;Unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;  &lt;span class="attr"&gt;MinimumOpacity&lt;/span&gt; &lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;MaximumOpacity&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="display: block; width: 100px; height: 400px;
            position: absolute; background-color: #000000; color: #FFCC00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            Paragraph One
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;Feel free to chime in with questions / comments.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1923080" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>HowTo : Sys.Preview.UI.Effects.FadeAnimation</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/15/howto-sys-preview-ui-effects-fadeanimation.aspx</link><pubDate>Thu, 15 Mar 2007 13:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1886344</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1886344.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1886344</wfw:commentRss><description>&lt;p&gt;The Sys.Preview.UI.Effects &amp;nbsp;Namespace contains a couple of animations that one can use in their applications.&lt;/p&gt; &lt;p&gt;Here , we will talk about how to use the &lt;strong&gt;&lt;u&gt;FadeAnimation &lt;/u&gt;&lt;/strong&gt;thats present in the Sys.Preview.UI.Effects NameSpace.&lt;/p&gt; &lt;p&gt;The Scripts that are to be included are : &lt;/p&gt; &lt;ol&gt; &lt;li&gt;MicrosoftAjax.js&lt;/li&gt; &lt;li&gt;PreviewScript.js&lt;/li&gt; &lt;li&gt;PreviewGlitz.js&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Call the Initialize function to do the same to the Ajax Scripts :-)&lt;/p&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt;
    Sys.Application.initialize();
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get a handle to the animation Target as a Sys.UI.Control object &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; domElementVar = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.UI.Control( $get(&lt;span class="str"&gt;"animationTarget"&lt;/span&gt;)  );&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Create an instance of the FadeAnimation .&lt;/span&gt;
      &lt;span class="kwrd"&gt;var&lt;/span&gt; fadeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.Preview.UI.Effects.FadeAnimation();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Set the Duration &lt;/span&gt;
       fadeAnimation.set_duration( 0.3 );
&lt;span class="rem"&gt;//Set the Animation Target as a Sys.UI.Control object &lt;/span&gt;
        fadeAnimation.set_target( domElementVar );
&lt;span class="rem"&gt;//Set the Animation Effect ( FadeIn / FadeOut )&lt;/span&gt;
        fadeAnimation.set_effect( fadeEffect );
&lt;span class="rem"&gt;//Set the Maximum Opacity Value&lt;/span&gt;
        fadeAnimation.setValue( 70 );
&lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
        fadeAnimation.play(); &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Complete Example is given below , its also available as a download .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Fade Animation Using Futures&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="Scripts/MicrosoftAjax.js"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="Scripts/PreviewScript.js"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="Scripts/PreviewGlitz.debug.js"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Fade Out Animate Button --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnFadeOutAnimate"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Fade Out"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="FadeUsingFutures(true )"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Fade In Animate Button --&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnFadeInAnimate"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt; &lt;span class="kwrd"&gt;="display:none"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Fade In"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="FadeUsingFutures( false )"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    
&lt;span class="rem"&gt;&amp;lt;!-- The Div thats gonna be animated--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="animationTarget"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="width: 400px; height: 400px; background-color: #FFCC00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt;
    Sys.Application.initialize();
    
    &lt;span class="rem"&gt;//Get a handle to the animation Target as a Sys.UI.Control object &lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; domElementVar = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.UI.Control( $get(&lt;span class="str"&gt;"animationTarget"&lt;/span&gt;)  );
    &lt;span class="kwrd"&gt;function&lt;/span&gt; FadeUsingFutures( fadeOut )
    {
        &lt;span class="rem"&gt;//Create an instance of the FadeAnimation .&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; fadeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.Preview.UI.Effects.FadeAnimation();
        
        &lt;span class="rem"&gt;//Decide whether to Fadein Our FadeOut&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; fadeEffect = fadeOut ?  Sys.Preview.UI.Effects.FadeEffect.FadeOut : Sys.Preview.UI.Effects.FadeEffect.FadeIn ;
           
       &lt;span class="rem"&gt;//Hide / Show the appropriate button(s)&lt;/span&gt;
        $get(&lt;span class="str"&gt;"btnFadeOutAnimate"&lt;/span&gt;).style.display =  fadeOut  ? &lt;span class="str"&gt;"none"&lt;/span&gt;:&lt;span class="str"&gt;"block"&lt;/span&gt;;
        $get(&lt;span class="str"&gt;"btnFadeInAnimate"&lt;/span&gt;).style.display  =  fadeOut  ? &lt;span class="str"&gt;"block"&lt;/span&gt;:&lt;span class="str"&gt;"none"&lt;/span&gt;;
            
       &lt;span class="rem"&gt;//Set the Duration &lt;/span&gt;
       fadeAnimation.set_duration( 0.3 );
       &lt;span class="rem"&gt;//Set the Animation Target as a Sys.UI.Control object &lt;/span&gt;
        fadeAnimation.set_target( domElementVar );
        &lt;span class="rem"&gt;//Set the Animation Effect ( FadeIn / FadeOut )&lt;/span&gt;
        fadeAnimation.set_effect( fadeEffect );
        &lt;span class="rem"&gt;//Set the Maximum Opacity Value&lt;/span&gt;
        fadeAnimation.setValue( 70 );
        &lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
        fadeAnimation.play(); 
    }
    
    &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1886344" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/phaniraj/attachment/1886344.ashx" length="55551" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Using MS Ajax Animations From the Client-Side</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/12/using-ms-ajax-animations-from-the-client-side.aspx</link><pubDate>Mon, 12 Mar 2007 18:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1865612</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1865612.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1865612</wfw:commentRss><description>&lt;P&gt;We&amp;nbsp; will talk about how to use the MS-Ajax Animation Framework &lt;U&gt;without any server-side code.&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The sample completely illustrates how to instantiate and use the Animation Controls by including the proper script references.&lt;/P&gt;
&lt;P&gt;1) Include the following scripts in your HTML Page&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;MicrosoftAjax.js&amp;nbsp; ( download from &lt;A title="Download Location" href="http://ajax.asp.net/downloads/library/default.aspx?tabid=47&amp;amp;subtabid=471" mce_href="http://ajax.asp.net/downloads/library/default.aspx?tabid=47&amp;amp;subtabid=471"&gt;Here&lt;/A&gt;&amp;nbsp;)&lt;/P&gt;
&lt;P&gt;Timer.js ( downlod from &lt;A title="Download Location" href="http://www.codeplex.com/AtlasControlToolkit/Project/FileDownload.aspx?DownloadId=7711" mce_href="http://www.codeplex.com/AtlasControlToolkit/Project/FileDownload.aspx?DownloadId=7711"&gt;Here&lt;/A&gt;&amp;nbsp;)&lt;/P&gt;
&lt;P&gt;BaseScripts.js&lt;/P&gt;
&lt;P&gt;Common.js &lt;/P&gt;
&lt;P&gt;Animations.js&lt;/P&gt;
&lt;P&gt;AnimationBehavior.js&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Actual HTML &lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&lt;/PRE&gt;
&lt;DIV class=csharpcode-wrapper&gt;&lt;PRE class=csharpcode&gt;&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/MicrosoftAjax.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Timer.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/BaseScripts.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Animations.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Common.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/AnimationBehavior.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/STYLE&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;P&gt;2) Call the "Initialize()" function to initialize the Scripts in the HTML Page.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV class=csharpcode-wrapper&gt;&lt;PRE class=csharpcode&gt;&amp;lt;script type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt; 
&amp;lt;!--
Sys.Application.initialize();
--&amp;gt;
&amp;lt;/script&amp;gt;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/STYLE&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;3) Create  your animation using the $create Method or use the Static methods of the Animation Library to create animations.&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;STRONG&gt;&lt;U&gt;Sample HTML&lt;/U&gt;&lt;/STRONG&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&amp;lt;!&lt;/SPAN&gt;&lt;SPAN class=html&gt;DOCTYPE&lt;/SPAN&gt; &lt;SPAN class=attr&gt;html&lt;/SPAN&gt; &lt;SPAN class=attr&gt;PUBLIC&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;html&lt;/SPAN&gt; &lt;SPAN class=attr&gt;xmlns&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://www.w3.org/1999/xhtml"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;head&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;title&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;Animation Repro&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;title&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;head&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;body&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;

    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt; &lt;SPAN class=attr&gt;src&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="ClientScripts/MicrosoftAjax.debug.js"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="text/javascript"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Timer.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/MicrosoftAjaxWebForms.debug.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/BaseScripts.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Animations.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Common.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/AnimationBehavior.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;input type=&lt;SPAN class=str&gt;"button"&lt;/SPAN&gt; onclick=&lt;SPAN class=str&gt;"Expand(event)"&lt;/SPAN&gt; value=&lt;SPAN class=str&gt;"Expand"&lt;/SPAN&gt; style=&lt;SPAN class=str&gt;"display: block"&lt;/SPAN&gt;
        id=&lt;SPAN class=str&gt;"btnExpand"&lt;/SPAN&gt; /&amp;gt;
    &amp;lt;input type=&lt;SPAN class=str&gt;"button"&lt;/SPAN&gt; onclick=&lt;SPAN class=str&gt;"Contract(event)"&lt;/SPAN&gt; value=&lt;SPAN class=str&gt;"Contract"&lt;/SPAN&gt; style=&lt;SPAN class=str&gt;"display: none"&lt;/SPAN&gt;
        id=&lt;SPAN class=str&gt;"btnContract"&lt;/SPAN&gt; /&amp;gt;
    &amp;lt;div id=&lt;SPAN class=str&gt;"popup"&lt;/SPAN&gt; style=&lt;SPAN class=str&gt;"display: block; cursor: hand; background-color: #ffcc00; height: 100px;
        width: 200px;"&lt;/SPAN&gt; title=&lt;SPAN class=str&gt;"click to hide"&lt;/SPAN&gt;&amp;gt;
        &amp;lt;table style=&lt;SPAN class=str&gt;"width: 100%; height: 100%;"&lt;/SPAN&gt;&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td style=&lt;SPAN class=str&gt;"text-align: center; vertical-align: middle;"&lt;/SPAN&gt;&amp;gt;
                    TEST
                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        &amp;lt;/table&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;


&amp;lt;!--

Sys.Application.initialize();

&lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; Contract(eventArgument) {

   &lt;SPAN class=rem&gt;//Hack for FireFox&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt;( eventArgument == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; )
    {
        eventArgument = &lt;SPAN class=kwrd&gt;event&lt;/SPAN&gt;;
    }
    $get(&lt;SPAN class=str&gt;"btnExpand"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"block"&lt;/SPAN&gt;;
    $get(&lt;SPAN class=str&gt;"btnContract"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"none"&lt;/SPAN&gt;;
    
    &lt;SPAN class=rem&gt;//ResizeAnimation.play(target, duration, fps, width, height, unit);&lt;/SPAN&gt;
    AjaxControlToolkit.Animation.ResizeAnimation.play($get(&lt;SPAN class=str&gt;"popup"&lt;/SPAN&gt;), 0.3 , 25 , 200 , 100 , &lt;SPAN class=str&gt;"px"&lt;/SPAN&gt; );

}

&lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; Expand(eventArgument) {

&lt;SPAN class=rem&gt;//Hack for FireFox &lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt;( eventArgument == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; )
    {
        eventArgument = &lt;SPAN class=kwrd&gt;event&lt;/SPAN&gt;;
    }
    
    $get(&lt;SPAN class=str&gt;"btnExpand"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"none"&lt;/SPAN&gt;;
    $get(&lt;SPAN class=str&gt;"btnContract"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"block"&lt;/SPAN&gt;;
    
    &lt;SPAN class=rem&gt;//ResizeAnimation.play(target, duration, fps, width, height, unit);&lt;/SPAN&gt;
    AjaxControlToolkit.Animation.ResizeAnimation.play($get(&lt;SPAN class=str&gt;"popup"&lt;/SPAN&gt;), 0.3 , 25 , 400 , 400 , &lt;SPAN class=str&gt;"px"&lt;/SPAN&gt; );
    
    
}
--&amp;gt;
    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;

&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;body&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;html&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;
&lt;PRE class=csharpcode&gt;&lt;/PRE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;Check out the Sample Attached to get a feel of how this works.&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;Any questions/comments are welcome &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1865612" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/phaniraj/attachment/1865612.ashx" length="119020" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Animating Multiple Controls on an Event using Microsoft Ajax AnimationExtender Controls</title><link>http://blogs.msdn.com/phaniraj/archive/2007/02/03/animating-multiple-controls-on-an-event-using-microsoft-ajax-animationextender-controls.aspx</link><pubDate>Sat, 03 Feb 2007 21:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1591839</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1591839.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1591839</wfw:commentRss><description>&lt;p&gt;We can assocaite multiple controls on a single event on a control firing&amp;nbsp; by using the "AnimationTarget" attribute of the Animation class.&lt;/p&gt; &lt;p&gt;lets take the example of a strip of thumbnails which should move upon click on the first thumbnail.&lt;/p&gt; &lt;p&gt;See Demo here&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="d49da610-fc34-4988-88d9-3c0a788fd878:b79b84c3-e9ce-4546-8d22-fb90073b0e3b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;embed src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" quality="high" width="412" height="362" wmode="transparent" name="msn_soapbox" type="application/x-shockwave-flash" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=fa65abd1-44df-4109-a6b7-ee6ff6ab2865"&gt;&lt;/embed&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;We have four thumbnails , arranged ina&amp;nbsp; row , see screenshot below.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/AnimatingMultipleControlsonanEvent_14C22/thumbnails_static11.jpg" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="192" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/AnimatingMultipleControlsonanEvent_14C22/thumbnails_static_thumb9.jpg" width="240" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We shall use Four Image Controls and position them using Css Positioning Styles.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The thumbnails that move --&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Image&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; 
                &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;="position: absolute; top: 100px; left: 100px"&lt;/span&gt; 
                &lt;span class="attr"&gt;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/thumbNails/___Fragile_heart____by_Liek.jpg"&lt;/span&gt;
                &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Image&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; 
                &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;="position: absolute; top: 100px; left: 210px"&lt;/span&gt; 
                &lt;span class="attr"&gt;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/thumbNails/001_by_Frnak.jpg"&lt;/span&gt;
                &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail2"&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Image&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; 
                &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;="position: absolute; top: 100px; left: 320px"&lt;/span&gt; 
                &lt;span class="attr"&gt;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/thumbNails/AshXP_Design_1.jpg"&lt;/span&gt;
                &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail3"&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Image&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; 
                &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;="position: absolute; top: 100px; left: 430px"&lt;/span&gt; 
                &lt;span class="attr"&gt;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/thumbNails/Devotion_by_h16.jpg"&lt;/span&gt;
                &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;To associate an animation with a control , we need to use the AnimationExtender which is part of the AjaxControlToolKit.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Animation Extender Control --&amp;gt;&lt;/span&gt;
 &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;cc1:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;We add Animations to this control .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;We Will move the thumbnails on Clicking on the asp:Image Control .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;The Animations will move in a sequence.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;The animations would be &lt;/pre&gt;&lt;pre class="csharpcode"&gt;1) The Image Resizes to a slightly bigger size &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"130"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="120"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;2) It Goes back to its original size.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"110"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;3) It shifts by its horizontal and vertical positions relatively.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt;  &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt; &lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2" &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;As you can very clearly see , we can animate controls that were not associated with an animation extender control by using the &lt;/pre&gt;&lt;pre class="csharpcode"&gt;"AnimationTarget" Property of the animations&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;This would repeat for all the 4 controls , the complete tag would look this .&lt;/pre&gt;&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;cc1:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                 &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"130"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="120"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"110"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail4"&lt;/span&gt; &lt;span class="attr"&gt;vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt;  &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt; &lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"130"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="120"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail3"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"110"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail3"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail3"&lt;/span&gt; &lt;span class="attr"&gt;vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt;  &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt; &lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"130"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="120"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"110"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail2"&lt;/span&gt; &lt;span class="attr"&gt;vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt;  &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt; &lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"130"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="120"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;= &lt;span class="kwrd"&gt;"110"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.05"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt; &lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt; &lt;span class="attr"&gt;vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt;  &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt; &lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                 &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;cc1:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;Clicking on the First Thumbnail , we can animate the other controls which do not have animation extenders associated with them.&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1591839" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category></item><item><title>Animation Control , Adding Cool Animations in your application, Scenario 2</title><link>http://blogs.msdn.com/phaniraj/archive/2007/01/20/animation-control-adding-cool-animations-in-your-application.aspx</link><pubDate>Sun, 21 Jan 2007 01:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1500135</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1500135.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1500135</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;Assigning Animations to Client-Side Controls&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you need to assign Animation Behaviour&amp;nbsp; to any Client-Side Controls using the AjaxControlToolKit's Animation Extender Control ,&lt;/p&gt; &lt;p&gt;you gotta Explicitly create the AnimationExtender Control on the Client side using the $create function&lt;/p&gt; &lt;p&gt;$create's Documentation is here&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://ajax.asp.net/docs/ClientReference/Sys/ComponentClass/5afdb70e-e14c-4fd7-a674-7ff78bd1fb59.aspx#ID0E55AG"&gt;Sys.UI.Component $create Method&lt;/a&gt;.&lt;/p&gt;&lt;pre class="csharpcode"&gt;$create(type, properties, events, references, element);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;Whenever, you add an Animation Extender control using the steps mentioned in my previous Post,&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/01/20/animation-control-another-way-of-changing-users-perception.aspx"&gt;Animation Control , Adding Cool Animations in your application&lt;/a&gt;&amp;nbsp;,&lt;/p&gt;
&lt;p&gt;For the Markup &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- asp:Image Control that houses the ThumbNail --&amp;gt;&lt;/span&gt; 
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Image&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt; 
      &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail"&lt;/span&gt; 
     &lt;span class="attr"&gt;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="thumbNails/Second_Dimension_by_celsojunior.jpg"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;cc1:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animationExtendThumbNail1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="imgThumbNail1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;Duration&lt;/span&gt;&lt;span class="kwrd"&gt;=".2"&lt;/span&gt;  &lt;span class="attr"&gt;horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="800"&lt;/span&gt; &lt;span class="attr"&gt;vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="600"&lt;/span&gt; &lt;span class="attr"&gt;Unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;  &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;cc1:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;The Runtime generates the Following&amp;nbsp; $create Function &lt;/p&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
&amp;lt;!--

Sys.Application.initialize();
&amp;lt;!-- Called when the Client Side Script Framework
    and Controls are Initialised--&amp;gt; 
Sys.Application.add_init(function() {
    $create(AjaxControlToolkit.Animation.AnimationBehavior, 
    {
         &amp;lt;!-- The ID to be associated with the control--&amp;gt; 
&lt;span class="str"&gt;         "id"&lt;/span&gt;:&lt;span class="str"&gt;"animationExtendThumbNail1"&lt;/span&gt;,
         imgThumbNail1
         &lt;span class="str"&gt;"OnClick"&lt;/span&gt;:&lt;span class="str"&gt;"{\"AnimationName\":\"Move\",\"Duration\":\".2\",\"horizontal\":\"800\",\"vertical\":\"600\",\"Unit\":\"px\",\"AnimationChildren\":[]}"&lt;/span&gt;,
        &amp;lt;!-- The Control to be targeted &lt;span class="str"&gt;imgThumbNail1-&lt;/span&gt;-&amp;gt; 
         &lt;span class="kwrd"&gt;null&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;, $get(&lt;span class="str"&gt;"imgThumbNail1"&lt;/span&gt;));
});
--&amp;gt;
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;Looking at this , we understand that the Server-Side Control associated with the Animation Control is Specified as the &lt;/pre&gt;&lt;pre class="csharpcode"&gt;   last parameter of the $create function is the Element the behaviour has to be associated with .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;So , lets start by creating a client Side Control .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;1) Create an &amp;lt;img&amp;gt; tag on the client Side , using the document.CreateElement Method&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;/**********&lt;/span&gt;
&lt;span class="rem"&gt;Function Name : CreateClientSideElementAndAttachAnimation&lt;/span&gt;
&lt;span class="rem"&gt;Parameters    : &lt;/span&gt;
&lt;span class="rem"&gt;               a) parentElementId : The Parent Element Which will house the Dynamically Created Control .&lt;/span&gt;
&lt;span class="rem"&gt;               &lt;/span&gt;
&lt;span class="rem"&gt;Purpose       : This Function Creates A client Side &amp;lt;img&amp;gt; tag and Calls the Function to attach the Animation behavior&lt;/span&gt;
&lt;span class="rem"&gt;**********/&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//parentElementId is the ID of the HTML element that will house the Dynamically Created Client Side Control &lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt;  CreateClientSideElementAndAttachAnimation(parentElementId)
{
   &lt;span class="rem"&gt;//Lets be Efficient and use StringBuilder :-)&lt;/span&gt;
   &lt;span class="kwrd"&gt;var&lt;/span&gt; imgElementTagString = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.StringBuilder(&lt;span class="str"&gt;""&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;   &lt;span class="rem"&gt;// The ID of the dynamically Created control&lt;/span&gt;
   &lt;span class="kwrd"&gt;var&lt;/span&gt; imgElementID = &lt;span class="str"&gt;"imgDynamicControl"&lt;/span&gt;
   imgElementTagString.append(&lt;span class="str"&gt;"&amp;lt;img"&lt;/span&gt;);
        imgElementTagString.append(&lt;span class="str"&gt;" id=\""&lt;/span&gt;+imgElementID+&lt;span class="str"&gt;"\" "&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;        &lt;span class="rem"&gt;//Style the Control to have the "Position" Attribute set to "Absolute" and assign the left and Top Positions of the control &lt;/span&gt;
        imgElementTagString.append(&lt;span class="str"&gt;" style=\"position:absolute;top:100px;left:20px;\" "&lt;/span&gt;);
        imgElementTagString.append(&lt;span class="str"&gt;" src=\"thumbNails/Second_Dimension_by_celsojunior.jpg\" "&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;   imgElementTagString.append(&lt;span class="str"&gt;"/&amp;gt;"&lt;/span&gt;);
   &lt;span class="rem"&gt;//Create the Img Tag using the document.createElement&lt;/span&gt;
   &lt;span class="kwrd"&gt;var&lt;/span&gt; imgElement = document.createElement( imgElementTagString.toString() );&lt;/pre&gt;&lt;pre class="csharpcode"&gt;   &lt;span class="rem"&gt;//Add the Child to the "ChildNodes" collection of the Parent Control &lt;/span&gt;
   $get(parentElementId).appendChild( imgElement );
   
   &lt;span class="rem"&gt;//Attach the Animation Control to the Dynamically Created Image Element&lt;/span&gt;
   AttachAnimation( imgElementID );
    
}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;2) Attach the Animation to the Dynamically Created Control &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;/**********&lt;/span&gt;
&lt;span class="rem"&gt;Function Name : AttachAnimation&lt;/span&gt;
&lt;span class="rem"&gt;Parameters    : &lt;/span&gt;
&lt;span class="rem"&gt;               a) controlID :  The Dynamically Created Control that has to be associated with the Animation Extender&lt;/span&gt;
&lt;span class="rem"&gt;               &lt;/span&gt;
&lt;span class="rem"&gt;Purpose       : This Function Creates an Animation Extender on the Client Side and Associates the Behaviour with the Dynamically &lt;/span&gt;
&lt;span class="rem"&gt;                Created Control Side&lt;/span&gt;
&lt;span class="rem"&gt;**********/&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; AttachAnimation( controlID )
{
    &lt;span class="rem"&gt;//The Id of the Dynamically Created Animation Extender Control &lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; animatorID = &lt;span class="str"&gt;"dynamicallyCreatedAnimationExtender"&lt;/span&gt;;
    
    &lt;span class="rem"&gt;//Dynamically Create the  Animation Extender Control &lt;/span&gt;
    $create(AjaxControlToolkit.Animation.AnimationBehavior, 
    {&lt;span class="str"&gt;"id"&lt;/span&gt;:animatorID,&lt;/pre&gt;&lt;pre class="csharpcode"&gt;    &lt;span class="rem"&gt;//The Animation associted with the Extender in JSON &lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;     &lt;span class="str"&gt;"OnClick"&lt;/span&gt;:&lt;span class="str"&gt;"{\"AnimationName\":\"Move\",\"Duration\":\".2\",\"horizontal\":\"800\",\"vertical\":\"600\",\"Unit\":\"px\",\"AnimationChildren\":[]}"&lt;/span&gt;}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;    &lt;span class="rem"&gt;// Associate the Client-Side Control with the Animation Extender by  using  "$get(&amp;lt;controlID&amp;gt;")&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;     &lt;span class="kwrd"&gt;null&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;, $get(controlID) );
}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Script might look a little convoluted , but once you get the hang of it, its pretty easy to tweak it as necessary .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1500135" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Animation Control , Adding Cool Animations in your application, Scenario 1</title><link>http://blogs.msdn.com/phaniraj/archive/2007/01/20/animation-control-another-way-of-changing-users-perception.aspx</link><pubDate>Sun, 21 Jan 2007 00:59:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1499847</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1499847.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1499847</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;See Demo here&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="d49da610-fc34-4988-88d9-3c0a788fd878:cb11441d-94a8-4da5-8a4c-8527b298f2de" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;embed src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" quality="high" width="412" height="362" wmode="transparent" name="msn_soapbox" type="application/x-shockwave-flash" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=01fbf437-018c-4b18-9673-89ee4b012ef7"&gt;&lt;/embed&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;1) Register the AjaxControlToolkit&amp;nbsp; in your page &lt;/p&gt; &lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;&amp;lt;%@ Register Assembly=&lt;span class="str"&gt;"AjaxControlToolkit"&lt;/span&gt; Namespace=&lt;span class="str"&gt;"AjaxControlToolkit"&lt;/span&gt; TagPrefix=&lt;span class="str"&gt;"cc1"&lt;/span&gt; %&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;pre class="csharpcode"&gt;2) Add a Script Manager &lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;/pre&gt;
&lt;div class="csharpcode-wrapper"&gt;
&lt;div class="csharpcode"&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:&lt;/span&gt; &amp;lt;!-- Mandatory Script Manager Control--&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:&lt;/span&gt; &amp;lt;asp:ScriptManager ID=&lt;span class="str"&gt;"ScriptManager1"&lt;/span&gt; runat=&lt;span class="str"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:&lt;/span&gt; &amp;lt;/asp:ScriptManager&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;font color="#000000"&gt;3) Add  A Server Side Control to attach the Animation to ( We will discuss how to bind Client Side Elements later ).&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;&amp;lt;!-- Image to Animate--&amp;gt;&amp;lt;asp:Image Visible=&lt;span class="str"&gt;"false"&lt;/span&gt; runat=&lt;span class="str"&gt;"server"&lt;/span&gt; ID=&lt;span class="str"&gt;"imgThumbNail1"&lt;/span&gt; 
CssClass=&lt;span class="str"&gt;"imgThumbNail"&lt;/span&gt;
 ImageUrl=&lt;span class="str"&gt;"thumbNails/Second_Dimension_by_celsojunior.jpg"&lt;/span&gt; /&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre class="csharpcode"&gt;4) Declare Your Animation Control Extender Instance &lt;/pre&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;&amp;lt;!-- Markup For the Animation Extender Control--&amp;gt; 
&amp;lt;cc1:AnimationExtender ID=&lt;span class="str"&gt;"animationExtendThumbNail1"&lt;/span&gt;    runat=&lt;span class="str"&gt;"server"&lt;/span&gt; TargetControlID=&lt;span class="str"&gt;"imgThumbNail1"&lt;/span&gt;&amp;gt;   
&amp;lt;/cc1:AnimationExtender&amp;gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;5) The TargetControlID is the ID of the Control which you want to animate , it has to be a Server-Side Control .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;6) Define Your Animation Elements, include the "Animations" Tag&lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;7) Now , lets make our image move to a spicific point in the page , such as Left=300,Top=400 , when the Image is clicked.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;   To Cause UI elements to move , we need to use the &amp;lt;Move&amp;gt; animation Tag .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;   For a complete Reference of animations , go &lt;a title="Complete Reference of Animation Behaviours" href="http://ajax.asp.net/ajaxtoolkit/Walkthrough/AnimationReference.aspx"&gt;Here&lt;/a&gt; . &lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;/pre&gt;
&lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;&amp;lt;OnClick&amp;gt;
        &amp;lt;Move Duration=&lt;span class="str"&gt;".2"&lt;/span&gt;  horizontal=&lt;span class="str"&gt;"300"&lt;/span&gt; vertical=&lt;span class="str"&gt;"400"&lt;/span&gt; relative=&lt;span class="str"&gt;"false"&lt;/span&gt; Unit=&lt;span class="str"&gt;"px"&lt;/span&gt;  /&amp;gt;
&amp;lt;/OnClick&amp;gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;8) The "Duration" attribute specifies the timespan in which the animation has to be completed, its measured in Seconds.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;9) "Unit"  specifies the unit by which the Control  has to move .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;10) Now , lets say that you want the Image Control to move by Left =300 and Top = 400  from its current Position , then you gotta set the &lt;/pre&gt;&lt;pre class="csharpcode"&gt;    "relative"  attribute to "true".By default its "false".&lt;/pre&gt;&lt;pre class="csharpcode"&gt;11) End Tags&lt;/pre&gt;&lt;pre class="csharpcode"&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;cc1:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;12) Lets look at the "imgThumbNail" CssClass&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;/pre&gt;
&lt;div class="csharpcode-wrapper"&gt;
&lt;div class="csharpcode"&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:&lt;/span&gt; .imgThumbNail&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:&lt;/span&gt;    position:absolute;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:&lt;/span&gt;    height: 110px;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:&lt;/span&gt;    width: 100px;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:&lt;/span&gt;    cursor: hand;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   7:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;13) Any Control  that has to be animated using the MOVE animation &lt;u&gt;&lt;font color="#ff0000"&gt;HAS to Have the "Position" attribute set to "absolute"&lt;/font&gt; &lt;/u&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;    because the Control has to be positioned absolutely to move on the screen.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;There you go !&lt;/pre&gt;&lt;pre class="csharpcode"&gt;Click on the Image Control and see the Image move !&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1499847" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category></item></channel></rss>