Анимированные GIF больше не анимированы на jquery .show () - PullRequest
3 голосов
/ 28 марта 2011

Насколько я могу судить, это влияет только на IE 8.

При использовании следующего кода gif появляется, но не анимируется (застрял в одной позиции):

$("#<%=assessmentListLinkClientID() %>").click(function(){
        $("#assessmentListLoaderImg").show();
    });

Iтакже использовали .css('display', 'block') с такими же результатами.

Есть ли приемлемый способ (возможно, даже лучше этого), который дает надежные результаты для разных браузеров для показа анимированного GIF?

Ответы [ 2 ]

6 голосов
/ 29 марта 2011

Похоже, что это способ решить эту проблему:

<div id='myHiddeDiv' style='display:none'> 
<img src='' id='myAnimatedImage'> 
</div> 
<input type='button' value='show image' onclick='showDiv();'> 

<script languag='javascript'> 
function showDiv() 
{ 
document.getElementById('myHiddeDiv').style.display =""; 
document.getElementById('myAnimatedImage').src = "http://www.nowhere.com/animatedGif.gif"; 
} 
</script> 

Вам необходимо заново установить src тега изображения, это заставляет IE снова его визуализировать и, следовательно, отображать его анимированным.

0 голосов
/ 28 марта 2011

У меня была эта проблема некоторое время назад, и хотя я не решал ее, я недавно обнаружил в пользовательском интерфейсе jquery кое-что, что я собирался исследовать дальше.Кажется, в движке пользовательского интерфейса jQuery есть настройка для установки вещей как скрытых за кадром, и мне было интересно, может ли это обойти проблему с IE, который неправильно отображает анимированные картинки, потому что они невидимы во время рендеринга.Моя теория заключалась в том, что если бы он был видимым, но «за кадром», то IE мог бы сделать его анимированным, но он был бы невидим для пользователя.

Ссылка здесь:

http://jqueryui.com/docs/Theming/API

И вот вспомогательный макет, о котором я думаю:

.ui-helper-hidden-available: Применяет доступное скрытие к элементам (через позиционирование abs со страницы)

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

Если вы попробуете это и добьетесь успеха, дайте мне знать:)

...