Проблема с расширителем анимации и IE9

#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);»

После этого проблема была исправлена.