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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input