#ajax #animationextender
#ajax #расширитель анимации
Вопрос:
Я использую расширитель анимации ajax в своем приложении. Он отлично работает практически во всех браузерах, кроме IE9. Я использую код как:
<cc1:AnimationExtender ID="OpenAnimation" runat="server" TargetControlID="btnAddNewComment"
BehaviorID="OpenAnimationBehavior">
<Animations>
<OnClick>
<Sequence>
<%-- Disable the button so it can't be clicked again --%>
<EnableAction Enabled="false" />
<%-- Position the wire frame and show it --%>
<StyleAction AnimationTarget="flyout" Attribute="display" Value="block"/>
<%-- Move the wire frame from the button's bounds to the info panel's bounds --%>
<Parallel AnimationTarget="flyout" Duration=".3" Fps="25">
<Resize Width="850" Height="420" />
<Color PropertyKey="backgroundColor" StartValue="#AAAAAA" EndValue="#FFFFFF" />
</Parallel>
<%-- Move the panel on top of the wire frame, fade it in, and hide the frame --%>
<StyleAction AnimationTarget="info" Attribute="display" Value="block"/>
<FadeIn AnimationTarget="info" Duration=".2" />
<StyleAction AnimationTarget="flyout" Attribute="display" Value="none"/>
</Sequence>
</OnClick>
</Animations>
</cc1:AnimationExtender>
Corresponding JS function to play the animation is:
// function to open the animation popup
function OpenExtender(tempCommentID)
{
var behaveYourself = $find("OpenAnimationBehavior");
var onClickAnimation = behaveYourself.get_OnClickBehavior();
onClickAnimation.play();
return false;
}
При нажатии на кнопку «btnAddNewComment» появляется всплывающее окно, но проблема заключается в наведении курсора мыши на всплывающий div. Когда я наведу курсор мыши на всплывающее окно, всплывающее окно исчезнет.
Кто-нибудь может сказать, в чем будет проблема?
Ответ №1:
мне кажется, что IE9 не запоминает изменения, внесенные с помощью Animation Extender. Даже официальный образец не работает. Если (например) Display: none, и вы анимировали его для Dislay: block, когда анимация остановится, она вернется к Display: none при следующей перерисовке (вам нужно навести курсор мыши на элемент или иным образом вызвать обновление). Я надеюсь, что это будет исправлено очень скоро.
Комментарии:
1. Теперь я решил ее, добавив глобальный стиль css: * { непрозрачность: 1! важно; } это сработало как по волшебству.
2. Да, действительно, проблема заключалась в настройке непрозрачности. я исправил это. Спасибо за ваши усилия.
Ответ №2:
Я понимаю, что следующий шаг: удалите следующий код в элементе управления, вызываемом из AnimationExtender:
«непрозрачность: 0; фильтр: progid:DXImageTransform.Microsoft.Альфа (непрозрачность = 0);»
После этого проблема была исправлена.