动画过程中禁用操作 (C#)

作者 :Christian Wenz

下载 PDF

ASP.NET AJAX 控件工具包中的动画控件不仅是一个控件,而且是一个用于向控件添加动画的整个框架。 它还支持鼠标单击等操作。 但是,当鼠标单击启动动画时,最好在动画期间禁用鼠标单击。

概述

ASP.NET AJAX 控件工具包中的动画控件不仅是一个控件,而且是一个用于向控件添加动画的整个框架。 它还支持鼠标单击等操作。 但是,当鼠标单击启动动画时,最好在动画期间禁用鼠标单击。

步骤

首先,在页面中包括 ScriptManager ;然后加载 ASP.NET AJAX 库,从而可以使用 Control Toolkit:

<asp:ScriptManager ID="asm" runat="server" />

动画将应用于 HTML 按钮,如下所示:

<input type="button" ID="Button1" runat="server" Value="Launch Animation" />

请注意,使用 HTML 控件而不是 Web 控件,因为我们不希望按钮创建回发;它应只为我们启动客户端动画。

然后,将 添加到 AnimationExtender 页面,提供 IDTargetControlID 属性和强制 runat="server"

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

在 节点内 <Animations><OnClick> 是用于处理鼠标单击的右元素。 但是,在动画期间也可以单击该按钮。 元素 <EnableAction> 可以处理这一点。 设置 Enabled="false" 将禁用按钮作为动画的一部分。 由于我们将使用多个单独的动画 (禁用按钮和实际动画) , <Parallel> 因此需要元素将单个动画粘附到一个动画中。 下面是 的完整标记 AnimationExtender

<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Button1">
 <Animations>
 <OnClick>
 <Parallel>
 <EnableAction Enabled="false" />
 <FadeOut Duration="1.5" Fps="24" />
 <Resize Width="1000" Height="150" Unit="px" />
 </Parallel>
 </OnClick>
 </Animations>
</ajaxToolkit:AnimationExtender>

还可以在动画后重新启用按钮,在列表末尾使用以下 XML 元素:

<EnableAction Enabled="true" />

但是,在给定的方案中,由于按钮淡出且在动画结束时不可见,因此这无用。

动画运行后立即禁用该按钮

动画运行后,按钮将立即禁用 (单击以查看全尺寸图像)