При выполнении асинхронного вызова AJAX загрузка анимации зависает в IE7, а иногда и в IE8. - PullRequest
2 голосов
/ 02 ноября 2011

Я использую анимированный GIF-файл, который будет отображаться при отправке асинхронного запроса веб-службе через jQuery.ajax(). GIF изначально скрыт (display: none) и отображается через .show() прямо перед отправкой запроса.

Он работает должным образом в Chrome, FF и IE9 и выглядит просто отлично, но в IE8 его анимация время от времени зависает в процессе, а в IE7 просто показывает gif, но не анимируется вообще.

Я обыскал несколько потоков по этой проблеме, но они устарели (я знаю, как и IE7 и IE8. Но, к сожалению, нам все еще приходится полностью поддерживать эти браузеры), и согласие, по-видимому, таково: Невозможно - IE7 имеет только один поток для запуска JS и анимированных GIF-файлов.

Я надеюсь, что прошло достаточно времени, и они могут обойти эту проблему. Я довольно новичок в JS и веб-разработке, так что, скорее всего, у меня просто недостаточно опыта, чтобы найти простое решение, которое все уже знают. :)

Спасибо заранее, Борис

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

вы можете попытаться сделать вызов ajax в обратном вызове шоу так:

$(".gif_element").show("normal", function() {
    $.ajax({})
});

конечно, это обходной путь

1 голос
/ 02 ноября 2011

Попробуйте удалить атрибут display: none с помощью jquery.

$("#id or .class").css("display", "block" );

или

$("#id or .class").removeAttr("display");

Та же проблема произошла со мной, и один из вышеупомянутых сработал.:)

...