AnimationExtender.OnLoad – задержка запуска

Предположим, что мы хотим выводить сообщение после того, как пользователь сохранил некоторые данные формы и прятать его через некоторое время. AnimationExtender выглядит очень привлекательно так как позволяет не просто погасить окно сообщения а сделать это каким либо красивым способом. Однако вот незадача — почему то в AnimationExtender не предусмотрено стандартного способа выполнить задержку при выполнении скрипта или перед его запуском.

Решить проблему отложенного запуска скрипта позволит нехитрый прием. Воспользуемся к примеру OpacityAction для эмуляции задержки выполнения.

<asp:Panel runat=»server» ID=»messageArea» style=»display:none;»>
Запись сохранена
</asp:Panel>
<ajaxToolkit:AnimationExtender ID=»messageArea_AnimationExtender»
runat=»server» Enabled=»False» TargetControlID=»messageArea»>
<Animations>
<OnLoad>
<Sequence>
<StyleAction Attribute=»display» Value=»»/>
<OpacityAction Opacity=»1″ Duration=»3.5″ />
<FadeOut Duration=».5″ />
</Sequence>
</OnLoad>
</Animations>
</ajaxToolkit:AnimationExtender>

Первым делом делаем панель видимой, а затем в течение 3.5 секунд выполняется OpacityAction. Однако так как панель полностью непрозрачная, это действие никаких визуальных эффектов не создает. Дальше просто плавно гасим панель сообщения.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *