Animace závislá na podmínce (C#)
Ovládací prvek Animace v ASP.NET AJAX Control Toolkit není jen ovládací prvek, ale celá architektura pro přidání animací do ovládacího prvku. To, jestli se animace spustí nebo ne, může také záviset na podmínce ve formě nějakého kódu JavaScriptu.
Přehled
Ovládací prvek Animace v ASP.NET AJAX Control Toolkit není jen ovládací prvek, ale celá architektura pro přidání animací do ovládacího prvku. To, jestli se animace spustí nebo ne, může také záviset na podmínce ve formě nějakého kódu JavaScriptu.
Postup
Nejprve na stránce zahrňte ScriptManager
. Pak se načte ASP.NET knihovna AJAX, což umožňuje použití sady nástrojů Control Toolkit:
<asp:ScriptManager ID="asm" runat="server" />
Animace se použije u panelu textu, který vypadá takto:
<asp:Panel ID="panelShadow" runat="server" CssClass="panelClass">
ASP.NET AJAX is a free framework for quickly creating a new generation of more
efficient, more interactive and highly-personalized Web experiences that work
across all the most popular browsers.<br />
ASP.NET AJAX is a free framework for quickly creating a new generation of more
efficient, more interactive and highly-personalized Web experiences that work
across all the most popular browsers.<br />
ASP.NET AJAX is a free framework for quickly creating a new generation of more
efficient, more interactive and highly-personalized Web experiences that work
across all the most popular browsers.<br />
</asp:Panel>
V přidružené třídě CSS pro panel definujte příjemnou barvu pozadí a také nastavte pevnou šířku panelu:
<style type="text/css">
.panelClass {background-color: lime; width: 300px;}
</style>
Pak na stránku ID
TargetControlID
přidejte AnimationExtender
, atribut a povinný atribut .runat="server":
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
V rámci <Animations>
uzlu použijte <OnLoad>
ke spuštění animací, jakmile je stránka plně načtená. Místo jedné z běžných animací <Condition>
přichází prvek do hry. Kód JavaScriptu zadaný jako hodnota atributu ConditionScript
se spustí za běhu. Pokud se vyhodnotí jako true, animace se spustí, jinak ne. Následující kód poskytuje dvě animace, z nichž každá se spouští v 50 % případů náhodně. Vzhledem k tomu, že uvnitř <OnLoad>
může být pouze jedna animace, jsou tyto dvě <Condition>
animace spojeny dohromady pomocí elementu <Sequence>
:
<ajaxToolkit:AnimationExtender ID="ae" runat="server"
TargetControlID="Panel1">
<Animations>
<OnLoad>
<Sequence>
<Condition ConditionScript="Math.random() < 0.5">
<Resize Width="1000" Height="150" Unit="px" />
</Condition>
<Condition ConditionScript="Math.random() < 0.5">
<FadeOut Duration="1.5" Fps="24" />
</Condition>
</Sequence>
</OnLoad>
</Animations>
</ajaxToolkit:AnimationExtender>
Všimněte si, že znak menší než (<
) v atributu ConditionScript
musí být řídicí znak (). Když spustíte tento skript, buď se nespustí žádná animace, nebo se spustí jedna z těchto dvou animací, nebo obojí.
Panel se midí bez změny velikosti, takže se spustí druhá animace, první ne (kliknutím zobrazíte obrázek v plné velikosti).