C# ASP.net AJAX动画的多目标控件?
我正在尝试将相同的动画应用于多个TargetControlID——例如,在模式对话框中,我希望在右上角有一个取消按钮和一个小“x”图形,这两个按钮都会关闭对话框 写两个相同的动画似乎很不雅观,每个目标对应一个。我想要一个,并将其应用于两个控件C# ASP.net AJAX动画的多目标控件?,c#,asp.net,asp.net-ajax,C#,Asp.net,Asp.net Ajax,我正在尝试将相同的动画应用于多个TargetControlID——例如,在模式对话框中,我希望在右上角有一个取消按钮和一个小“x”图形,这两个按钮都会关闭对话框 写两个相同的动画似乎很不雅观,每个目标对应一个。我想要一个,并将其应用于两个控件 知道我的意思吗?有什么想法吗?听起来你想使用UpdateProgress控件。它可以连接到一个UpdatePanel,用于你在那里的任何按钮 (或者我误解了你的意思)动画扩展程序(通过JavaScript)向目标控件添加一个单击处理程序来启动动画。一种简单
知道我的意思吗?有什么想法吗?听起来你想使用UpdateProgress控件。它可以连接到一个UpdatePanel,用于你在那里的任何按钮
(或者我误解了你的意思)动画扩展程序(通过JavaScript)向目标控件添加一个单击处理程序来启动动画。一种简单的方法是在第二个控件被单击时模拟对目标控件的单击。AjaxControlToolkit包含一个可以帮助您完成此操作的函数 将此javascript添加到您的页面。设置第二个控件的“onclick”以调用此函数:
function secondControlClick() {
$common.tryFireEvent(yourtargetcontrol, 'click');
}
让我知道这对你有什么好处
加布里埃尔。。。两年后
因此,诀窍在于按照您的猜测更改动画的TargetControlId属性。虽然它不像jQuery的$[“#MyControl”]那么简单代码>语法可以完成
javascript对象上有两个隐藏属性,您需要使用它们。特别是_onHoverOver、_动画和_目标属性
例如,假设您有一个按钮,如果有人将鼠标悬停在该按钮上,您希望调整其大小,您需要创建动画扩展程序和两个javascript调用,这些调用在onmouseover事件中引用:
<ajaxToolkit:AnimationExtender id="aeAnimateClaimButtons"
runat="server" BehaviorID="showHover" TargetControlID="ctlNonExistent" >
<Animations>
<OnHoverOver>
<Sequence Duration=".4">
<Resize Width="500" Height="100" Unit="px" />
</Sequence>
</OnHoverOver>
<OnHoverOut>
<Sequence Duration=".4">
<Resize Width="200" Height="100" Unit="px" />
</Sequence>
</OnHoverOut>
</Animations>
</ajaxToolkit:AnimationExtender>
然后您需要创建您的函数:
<script type="text/javascript">
function hoverOverButton(senderId) {
var ae = $find("aeAnimateClaimButtons");
ae._onHoverOver._animation._target = $get(senderId);
ae._onHoverOver.play();
}
function hoverOutButton(senderId) {
var ae = $find("aeAnimateClaimButtons");
ae._onHoverOut._animation._target = $get(senderId);
ae._onHoverOut.play();
}
</script>
功能悬停按钮(senderId){
变量ae=$find(“aeAnimateClaimButtons”);
ae.\u onHoverOver.\u animation.\u target=$get(senderId);
ae._onHoverOver.play();
}
函数HOVERETON(senderId){
变量ae=$find(“aeAnimateClaimButtons”);
ae.\u onHoverOut.\u animation.\u target=$get(senderId);
ae._onHoverOut.play();
}
然后按下按钮:
<input type="button" onmouseover="hoverOverButton(this)" onmouseout="hoverOutButton(this)" />
这里有一句警告的话。CTL不存在的东西可能会使您的页面抛出异常。这只是一个例子来说明这一原则。我也不知道_变量是否会消失。在我看来,它们不像是公共API的东西