IE7 / IE8 et gifs animés gelés
Je suis assez sûr que c'est un vieux problème.
C'est comment j'ai rendu mon gif animé:
<img id='loading' alt='loading' style="display: none; position:
relative; left:10px; top:2px;" src="<%= Url.Image("loading.gif") %>" />
C'est comment je suis désespérément à essayer de le montrer pour le moment:
showLoading: function(gifId, butId) {
var n = gifId != undefined ? gifId : 'loading';
var l = $('#' + n);
//if browser is stupid
if ('v' == '\v') {
var s = l.attr('src');
var x = document.getElementById(n);
x.style.visibility = "visible";
x.style.display = "inline";
setTimeout("document.getElementById('" + n + "').src = '"+s+"';",
100);
} else {
l.show();
}
if (butId != undefined)
$('#' + butId).css('cursor', 'default').attr("disabled", true);
},
Problème:
Gif animé semble figé, il n'y a pas d'animation
Plus étrange c'est que sur l'autre page, tout fonctionne comme un charme.
P. s. c'est douloureux de ne pas diatribe sur IE... argh...
EDIT:
Enroulé autour avec durée:
<span id='loading' style='display: none;
position: relative; left: 0px; top: 2px;'>
<img alt='loading' src="<%= Url.Image("loading.gif") %>" />
</span>
changé js:
if ('v' == '\v') {
var f = function() {
l.show();
l.attr('src', l.attr('src'));
};
setTimeout(f, 100);
} else {
l.show();
}
et mystiquement - il fonctionne maintenant.
source d'informationauteur Arnis Lapsa
Vous devez vous connecter pour publier un commentaire.
Je suis tombé sur cette fois. Si j'ai essayé d'utiliser le JavaScript pour montrer un peu le chargement throbber que le navigateur déplacé vers une page qui allait prendre un certain temps à charger, c'est à dire de ne pas animer le GIF. Je l'ai résolu en mettant le chargement throbber directement dans le HTML (pas inséré via JavaScript) dans un div caché:
et puis l'utilisation de JavaScript pour activer /désactiver la visibilité de la div après un court délai (c'est en utilisant une ancienne version de la librairie Prototype, mais vous voyez l'idée):
Que la fonction est déclenchée dans le formulaire de soumission du bouton:
Ainsi, au lieu de retarder l'attribut src de changement, le laisser seul, et juste en retard à l'appel de l'ensemble de votre showLoading() fonction. Bonne chance!
Spin.js fonctionne pour ce cas d'utilisation.
J'ai trouvé accepté de répondre un peu complexe à comprendre ou à mettre en œuvre cependant, j'ai eu le même problème en faisant cela,
J'avais HTML suivant
et en java script je faisais ce
Mais ce n'était pas l'animation de fichier gif,
Solutions
Mis à jour mon java script et fait comme suit
veuillez noter que divProgressWheel.innerHTML est le même que ce que j'avais en html.
Il ya avant, nous pouvons supprimer les html html modifié;