21.1 Animation动画控件 (征服ASP.NET 2.0 Ajax——Web开发技术详解 )

本文主要是介绍21.1 Animation动画控件 (征服ASP.NET 2.0 Ajax——Web开发技术详解 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 ---------http://book.csdn.net/bookfiles/305/10030512730.shtml

本章主要介绍一些具备特殊效果的组件,如动画、阴影、边角锐化等,AjaxControlToolkit工具包的主要功能就是提供一些个性化的组件,让网站界面美观。

本章主要介绍的组件有:Animation、DropShadow、RoundedCorners、ToggleButton和UpdatePanelAnimation。

21.1  Animation动画控件

Animation是非常有特色的动画控件,适合网站的装饰,本节主要介绍在AJAX中包含的多种动画效果,并以实例的形式显示如何应用这些特效。

21.1.1  简介

Animation控件的使用非常特殊,在VS2005中设计此控件时,并没有提供智能提示功能,所以在学习Animation控件的时候,需要掌握各个控件的各个属性,因为每个小的动画控件,其属性又各不相同。

虽然Animation提供了很多小的动画控件,但这些控件在使用时,必须遵守代码清单21-1所示的语法。

代码清单21-1  Animation控件的使用语法

<ajaxToolkit:AnimationExtender ID="ae"  runat="server" TargetControlID="ctrl">

    <Animations>

        <OnLoad> ... </OnLoad>

        <OnClick> ... </OnClick>

        <OnMouseOver> ... </OnMouseOver>

        <OnMouseOut> ... </OnMouseOut>

        <OnHoverOver> ... </OnHoverOver>

        <OnHoverOut> ... </OnHoverOut>

    </Animations>

</ajaxToolkit:AnimationExtender>

其中各属性的说明如下:

l  OnLoad:表示要触发的事件是加载页面时。

l  OnClick:表示要触发的事件是单击控件时。

l  OnMouseOver:表示要触发的事件是鼠标滑过时。

l  OnMouseOut:表示要触发的事件是鼠标移走时。

l  OnHoverOver:与OnMouseOver类似,对特定控件而言。

l  OnHoverOut:与OnMouseOut类似,对特定控件而言。

Animation的动画效果如图21-1所示。

图21-1  Animation的动画效果

21.2.2  多种动画控件的实例

在Animation控件内,又包含了多个小的控件,为了清晰的掌握这些控件的使用,本节将为常用的几个小动画控件,分别做一个实例。

1.变色颜色的动画效果

本例要实现的是当鼠标滑过Panel时,Panel的颜色发生变化,当鼠标移走时,Panel的颜色又发生了变化,这需要“Color Animation”。Color Animation动画的属性主要有4个:

l  Duration:动画显示效果的时间间隔。

l  PropertyKey:要设置的属性值。

l  StartValue:属性的开始值。

l  EndValue:属性的结束值。

本例的演示步骤如下:

(1)打开VS2005,新建一个AJAX Control Tookit网站,命名为“AjaxAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“AnimationSample_1.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个Panel。设置AnimationExtender的“TargetControlID”属性为Panel的ID“Panel1”。

(5)设计Panel的样式,源代码如下所示。

<asp:Panel ID="Panel1" runat="server" BackColor="#FFFFC0" Height="104px" Width="249px">

            Animation第一个实例</asp:Panel>

(6)在AnimationExtender内设计动画效果,本例实现的是颜色的变化,使用的是“Color Animation”。最终动画效果设计如清单21-2所示。

代码清单21-2Animation颜色变化的设计代码

<ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server" TargetControlID="Panel1">

        <Animations >

            <OnMouseOver>

                <Color Duration=".2" PropertyKey="color" StartValue="#FFFFFF" EndValue="#FF0000" />

            </OnMouseOver>

            <OnMouseOut>

                <Color Duration=".2"  PropertyKey="color" StartValue="#FF0000" EndValue="#FFFFFF" />

            </OnMouseOut>

</Animations>

(7)切换到设计视图,最终效果如图21-2所示。

图21-2  动画效果设计视图

(8)按“Ctrl+S”保存所有的设计。

(9)将此页设置为起始页,按F5运行程序,当鼠标滑过Panel时,可以发现Panel的颜色发生了变化。

2.淡入淡出合并的动画效果

淡入淡出效果是网站中经常看到的效果,本例使用“Fade Animation”来实现这样的效果,“Fade Animation”的属性主要有4个:

l  duration:动画效果的时间间隔。

l  Fps:帧/秒的显示速度。

l  maximumOpacity:最大透明度。

l  minimumOpacity:最小透明度。

本实例的演示步骤如下:

(1)打开网站“AJAXAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“AnimationSample_2.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个Panel。设置AnimationExtender的“TargetControlID”属性为Panel的ID“Panel1”。

(5)设计Panel的样式,源代码如下所示。

<asp:Panel ID="Panel1" runat="server" BackColor="#E0E0E0" Height="104px" Width="249px">

Animation第二个实例</asp:Panel>

(6)在AnimationExtender内设计动画效果,本例实现的是淡入淡出效果,使用的是“Fade Animation”。最终动画效果设计如清单21-3所示。

代码清单21-3  Animation淡入淡出的设计代码

        <ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server" TargetControlID="Panel1">

        <Animations >

        <OnMouseOver>

        <Fade  duration="1"  Fps="20" maximumOpacity="0.8"  minimumOpacity="0.2" />

       </OnMouseOver>

        <OnMouseOut >

        <Fade duration="1"   Fps="20" maximumOpacity="0.6"  minimumOpacity="0.2" />

        </OnMouseOut>

        </Animations>

        </ajaxToolkit:AnimationExtender>

(7)切换到设计视图,最终效果如图21-3所示。

图21-3  动画效果设计视图

(8)按“Ctrl+S”保存所有的设计。

(9)将此页设置为起始页,按F5运行程序,当鼠标滑过Panel时,可以发现Panel的淡入淡出效果。

3.淡入和淡出分开的动画效果

上一个实例中,当鼠标滑过时,其实是完成两步:淡入和淡出。通常在实际应用中,淡入和淡出是分开的。本例要演示的是当鼠标滑过时,实现淡入效果,当鼠标移出时,实现淡出效果。

此功能需要使用“FadeIn Animation”和“FadeOut Animation”,其中两个动画控件有着相同的属性,属性内容如下:

l  duration:动画效果的时间间隔。

l  Fps:帧/秒的显示速度。

l  maximumOpacity:最大透明度。

l  minimumOpacity:最小透明度。

实例的演示步骤如下:

(1)打开网站“AJAXAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“AnimationSample_3.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个Panel。设置AnimationExtender的“TargetControlID”属性为Panel的ID“Panel1”。

(5)设计Panel的样式,源代码如下所示。

<asp:Panel ID="Panel1" runat="server" BackColor="#C0C0FF" Height="136px" Width="286px">

            Animation第三个实例</asp:Panel>

(6)在AnimationExtender内设计动画效果,本例实现的是淡入淡出效果,使用的是“FadeIn Animation”和“FadeOut Animation”。最终动画效果设计如清单21-4所示。

代码清单21-4  Animation淡入淡出分开的设计代码

<ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server" TargetControlID="Panel1">

        <Animations >

        <OnMouseOver>

        <FadeIn  duration="1"   Fps="20" maximumOpacity="0.8"  minimumOpacity="0.2" />

       </OnMouseOver>

        <OnMouseOut >

        <FadeOut duration="1"   Fps="20" maximumOpacity="0.6"  minimumOpacity="0.2" />

        </OnMouseOut>

        </Animations>

</ajaxToolkit:AnimationExtender>

(7)切换到设计视图,最终效果如图21-4所示。

图21-4  动画效果设计视图

(8)按“Ctrl+S”保存所有的设计。

(9)将此页设置为起始页,按F5运行程序,当鼠标滑过Panel时,可以发现Panel的淡入效果,当鼠标滑出时,可以看到Panel的淡出效果。

4.可伸缩的动画效果

本例要实现的效果是,当单击Panel时,变化Panel的高度和宽度。这需要使用“Resize Animation”动画控件。其属性主要有5个:

l  duration:动画效果的时间间隔。

l  Fps:帧/秒的显示速度。

l  width:变化后的宽度。

l  height:变化后的高度。

l  unit:高度和宽度的单位,通常为“px”。

本例的演示步骤如下:

(1)打开网站“AJAXAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“AnimationSample_4.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个Panel。设置AnimationExtender的“TargetControlID”属性为Panel的ID“Panel1”。

(5)设计Panel的样式,源代码如下所示。

<asp:Panel ID="Panel1" runat="server" BackColor="Lavender" Height="121px" Width="322px">

            Animation第四个实例</asp:Panel>

(6)在AnimationExtender内设计动画效果,本例实现的是变化高宽效果,使用的是“Resize Animation”。最终动画效果设计如清单21-5所示。注意使用的事件是“OnClick”。

代码清单21-5  Animation变化高宽的设计代码

        <ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server" TargetControlID="Panel1">

        <Animations >

        <OnClick>

        <Resize  duration=".1"   Fps="20" width="300" height="150"  unit="px" />

       </OnClick>

       </Animations>

        </ajaxToolkit:AnimationExtender>

(7)切换到设计视图,最终效果如图21-5所示。

图21-5  动画效果设计视图

(8)按“Ctrl+S”保存所有的设计。

(9)将此页设置为起始页,按F5运行程序,当单击Panel时,可以发现Panel的高度和宽度都发生了变化。

21.3.3  Action行为实例

Animation控件除了具备一些小的动画控件外,还支持几种特殊的Action行为,如控制按钮不可用、隐藏按钮和设置透明度等。本节重点介绍三种行为:EnableAction、StyleAction和OpacityAction。

1.设置动画目标控件不可用

EnableAction用来设置控件为不可用状态,由于“Disabled”属性为HTML控件所有,所以在使用此行为时,目标控件应该为HTML控件。实例的演示步骤如下:

(1)打开网站“AJAXAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“Animation_Action1.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个HTML Button。设置Button的属性如下所示。

<input type="button" id="btn" value="单击不可用" runat="server" />

(5)在AnimationExtender内设计动画效果,本例实现的是单击按钮后,此按钮变为不可用状态,使用的是“EnableAction”。最终动画效果设计如清单21-6所示。注意使用的事件是“OnClick”。

代码清单21-6  Animation的EnableAction行为设计

        <ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server"

         TargetControlID="btn">

        <Animations >

            <OnClick>

                <EnableAction  Enabled="false" />

            </OnClick></Animations>

        </ajaxToolkit:AnimationExtender>

(6)按“Ctrl+S”保存所有的代码。

(7)将此页设置为起始页,按F5运行程序,当单击按钮时,可以发现按钮的状态,迅速变成了不可用。

2.设置动画目标控件的属性

StyleAction行为用来设计控件的一些属性,例如设置控件的背景色、高度等等,其包括3个属性:

l  AnimationTarget:要实现特效的控件。

l  Attribute:控件的某一属性,如display。

l  Value:属性的值,如“None”。

实例的演示步骤如下:

(1)打开网站“AJAXAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“Animation_Action2.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个HTML Button。设置Button的属性如下所示。

<input type="button" id="btn" value="单击隐藏" runat="server" />

(5)在AnimationExtender内设计动画效果,本例实现的是单击按钮后,此按钮不再显示,使用的是“StyleAction”。最终动画效果设计如清单21-7所示。注意使用的事件是“OnClick”。

代码清单21-7  Animation的StyleAction行为设计

<ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server"

        TargetControlID="btn">

        <Animations >

            <OnClick>

                <StyleAction AnimationTarget="btn" Attribute="display" Value="none"/>

            </OnClick></Animations>

</ajaxToolkit:AnimationExtender>

(6)按“Ctrl+S”保存所有的代码。

(7)将此页设置为起始页,按F5运行程序,当单击按钮时,可以发现按钮消失了。

3.设置动画目标控件的透明度

OpacityAction是控制透明度的行为。其主要包括3个属性:

l  duration:动画效果的时间间隔。

l  Fps:帧/秒的显示速度。

l  opacity:透明度的值。

实例的演示步骤如下:

(1)打开网站“AJAXAnimationCtrl”。

(2)在网站根目录下,添加一个Web窗体,命名为“Animation_Action3.aspx”。

(3)切换到窗体的设计视图,添加一个ScriptManager。实现AJAX框架类的注册。

(4)再添加一个AnimationExtender和一个Panel。设置Panel的属性如下所示。

        <asp:Panel ID="Panel1" runat="server" BackColor="#FFFFC0" Height="104px" Width="249px">

            Animation Action 实例</asp:Panel>

(5)在AnimationExtender内设计动画效果,本例实现的是单击Panel后,Panel的透明度发生变化,使用的是“OpacityAction”。最终动画效果设计如清单21-8所示。注意使用的事件是“OnClick”。

代码清单21-8  Animation的OpacityAction行为设计

        <ajaxToolkit:AnimationExtender ID="AnimationExtender1" runat="server"

        TargetControlID="Panel1">

        <Animations >

        <OnClick>

                <OpacityAction  duration="0.1"   fps="20"  opacity="0.6"/>

        </OnClick>

        </Animations>

        </ajaxToolkit:AnimationExtender>

(6)按“Ctrl+S”保存所有的代码。

(7)将此页设置为起始页,按F5运行程序,当单击Panel时,可以发现Panel的透明度立刻发生了变化。

本节通过几个小的动画实例,演示了“Animation”控件的大部分动画效果,如果要了解更多的知识,请参考“http://ajax.asp.net/ajaxtoolkit/Walkthrough/AnimationReference.aspx#Animation”的内容。

这篇关于21.1 Animation动画控件 (征服ASP.NET 2.0 Ajax——Web开发技术详解 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783381

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据