Выполнение анимаций с помощью клиентского кода (C#)
Кристиан Венц (Christian Wenz)
Элемент управления Анимация в наборе элементов управления ASP.NET AJAX — это не только элемент управления, но и целая платформа для добавления анимаций в элемент управления. Выполнение анимации также может быть активировано с помощью пользовательского кода JavaScript на стороне клиента.
Общие сведения
Элемент управления Анимация в наборе элементов управления ASP.NET AJAX — это не только элемент управления, но и целая платформа для добавления анимаций в элемент управления. Выполнение анимации также может быть активировано с помощью пользовательского кода JavaScript на стороне клиента.
Этапы
Во-первых, добавьте ScriptManager
на страницу . Затем загружается библиотека ASP.NET AJAX, что позволяет использовать набор средств управления:
<asp:ScriptManager ID="asm" runat="server" />
Анимация будет применена к панели текста, которая выглядит следующим образом:
<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>
В связанном классе CSS для панели определите хороший цвет фона, а также установите фиксированную ширину для панели:
<style type="text/css">
.panelClass {background-color: lime; width: 300px;}
</style>
Затем добавьте на AnimationExtender
страницу , указав ID
атрибут , TargetControlID
и обязательный runat="server"
атрибут :
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
<Animations>
В узле используйте для <OnClick>
запуска анимации после того, как пользователь щелкает панель. Добавьте две анимации, которые будут выполняться параллельно:
<Animations>
<OnClick>
<Parallel>
<FadeOut Duration="1.5" Fps="24" />
<Resize Width="1000" Height="150" Unit="px" />
</Parallel>
</OnClick>
</Animations>
</ajaxToolkit:AnimationExtender>
Для демонстрации эта анимация (и любая другая анимация, созданная с помощью набора средств управления) выполняется с помощью кода JavaScript после запуска страницы. Прежде всего нам нужен доступ к элементу AnimationExtender
управления. Библиотека ASP.NET AJAX предоставляет функцию $find()
для этой задачи:
var ae = $find("ae");
Элемент AnimationExtender
управления предоставляет многофункциональный API, включая методы с именами, идентичными обработчикам событий, используемым в разметке XML: OnClick()
, OnLoad()
и т. д. Например, вызов OnClick()
метода выполняет анимацию в элементе <OnClick>
AnimationExtender
элемента управления :
ae.OnClick();
Ниже приведен полный код JavaScript на стороне клиента, который эмулирует щелчок на панели после полной загрузки страницы. Обратите внимание, что используется имя функции, pageLoad()
вызываемое ASP.NET AJAX после загрузки страницы и всех включенных библиотек JavaScript.
<script type="text/javascript">
function pageLoad() {
var ae = $find("ae");
ae.OnClick();
}
</script>
Анимация запускается немедленно, без щелчка мышью (щелкните для просмотра полноразмерного изображения)