Executing Several Animations at The Same Time (VB)
The Animation control in the ASP.NET AJAX Control Toolkit is not just a control but a whole framework to add animations to a control. It allows to run several animations in a parallel fashion.
Overview
The Animation control in the ASP.NET AJAX Control Toolkit is not just a control but a whole framework to add animations to a control. It allows to run several animations in a parallel fashion.
Steps
First of all, include the ScriptManager
in the page; then, the ASP.NET AJAX library is loaded, making it possible to use the Control Toolkit:
[!code-aspxMain]
1: <asp:ScriptManager ID="asm" runat="server" />
The animation will be applied to a panel of text which looks like this:
[!code-aspxMain]
1: <asp:Panel ID="panelShadow" runat="server" CssClass="panelClass">
2: ASP.NET AJAX is a free framework for quickly creating a new generation of more efficient,
3: more interactive and highly-personalized Web experiences that work across all the
4: most popular browsers.<br />
5: ASP.NET AJAX is a free framework for quickly creating a new generation of more efficient,
6: more interactive and highly-personalized Web experiences that work across all the
7: most popular browsers.<br />
8: ASP.NET AJAX is a free framework for quickly creating a new generation of more efficient,
9: more interactive and highly-personalized Web experiences that work across all the
10: most popular browsers.<br />
11: </asp:Panel>
In the associated CSS class for the panel, define a nice background color and also set a fixed width for the panel:
[!code-cssMain]
1: <style type="text/css">
2: .panelClass {background-color: lime; width: 300px;}
3: </style>
Then, add the AnimationExtender
to the page, providing an ID
, the TargetControlID
attribute and the obligatory runat="server"
:
[!code-aspxMain]
1: <ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
Within the <Animations>
node, use <OnLoad>
to run the animations once the page has been fully loaded. Generally, <OnLoad>
only accepts one animation. The Animation framework allows you to join several animations into one using the <Parallel>
element. All animations within <Parallel>
are executed at the same time.
Here is the a possible markup for the AnimationExtender
control, fading out and resizing the panel at the same time:
[!code-aspxMain]
1: <ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
2: <Animations>
3: <OnLoad>
4: <Parallel>
5: <FadeOut Duration="1.5" Fps="24" />
6: <Resize Width="1000" Height="150" Unit="px" />
7: </Parallel>
8: </OnLoad>
9: </Animations>
10: </ajaxToolkit:AnimationExtender>
And indeed: when you run this script, the panel is displayed, then resizes (more than threefolding its width and halfing its height) and fades out at the same time.
The panel is fading out and resizing (including its content, thanks to the browser???s rendering engine) (Click to view full-size image)
|