Afficher un GIF animé

Signaler
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014
-
Messages postés
1
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
19 septembre 2008
-
Bonjour

Avant tout excusez moi si je me suis trompé de thème (je savais pas trop où poster).

J'ai un formulaire par lequel j'envoie des fichiers (certains assez lourds) sur le serveur. Je souhaitais faire afficher une sorte de loader le temps de l'envoi. J'ai placé mon image dans un div que j'affiche quand on valide.
Voici mon code (résumé) :

      

et dans une fonction appelée par le bouton Envoyer :

   ...
   document.getElementById("loader").style.display="block";
   frm.submit ();

Sous FF, aucun probleme.
Par contre avec IE (7, j'ai pas essayé les autres), ça s'affiche mais l'animation ne se fait pas.
Avec Opera l'image ne s'affiche même pas.

Y-a t'il une action particulière à faire pour lancer l'animation? (les utilisateurs seront tous sous IE, c'est donc ma priorité).

Merci d'avance

15 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
    normalement "y'a rien à faire"    une erreur quelque part ailleurs ?
    et si tu ne mets pas display:none pour tester ? c'est bon ?
        ==> et ça ? c'est ok pour toi ?

<hr />                Cordialement            Bul        
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>Avec Opera l'image ne s'affiche même pas
    Opera est "plus proche" d'IE que FF,
       donc... je ne sais pas ce que ça veut dire, mais ça veut dire quelque chose !
<hr />                Cordialement            Bul        
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
Bonjour,

Bul ++;

Sauf
>>    Opera est "plus proche" d'IE que FF
j'aurai dis le contraire




Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
salut à toi Maelob...
    tu voulais probablement dire  que opera est plus proche de ff que ie  ?
        je suis bien d'accord !
    par contre par rapport à ie, opera est bien plus proche que ff
        mais ce n'est qu'une opinion qui n'a aucun intérêt en fait
        sauf que si ça queute aussi avec opera.....
<hr />                Cordialement            Bul        
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
C'est sur le débat ne fera pas avancer ov3rdoze.

C'est bizarre quand même ce que tu as.
As tu bien tes balises script écrite come il faut <script type="text/javascript"> (sauf si c'est dans un fichier js) ton div loader n'est-il pas contenu dans autre chose qui ferait que ça fonctionne pas?




Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

En fait Loader est contenu dans un autre div. Mais il y a d'autres div egalement contenus dans un autre, je les affiche de la même façon et là aucun problème. C'est uniquement l'animation du GIF qui pose problème.

Par contre, si j'enlève frm.submit (); l'animation se fait normalement (mais évidement mon formulaire n'est plus envoyé...).
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Pour répondre à Bultez, ton image s'affiche bien, et si j'enlève display:none; c'est bon... jusqu'au moment où le formulaire est envoyé.
On dirait que ça fige l'animation...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
on n'a pas assez de billes finalement

et un frm.submit(), en javascript, quand on peut éviter : ça vaut mieux !

    un <form> a tout ce qu'il faut pour éviter, c'est standard, ça fontionnne
       avec tous les navigateurs et surtout avec tous les utilisateurs !
       n'oublions pas que le % de gens qui refusent le javascript est
       plus important que ceux qui utilisent certains navigateurs alternatifs à IE  !

<hr />                Cordialement            Bul        
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
Je pense pas que tu pourra changer ça car justement c'est pendant le chargement d'une autre page. Sauf si tu passe par ajax et que tu change en deuxième plan ce qui doit être changer...




Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Je sais... Mais le formulaire comporte beaucoup de champs et ça me permet de vérifier que tous sont bien remplis avant d'envoyer. Mais peut-être y a t'il d'autres solutions. Je vais m'y pencher...

Merci
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Désolé Maelob je n'avais pas vu ton post. En fait je n'ai pas réussi à envoyé un fichier par Ajax. J'avais posé la question mais on m'a dit que ce n'était pas possible.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
le nombre de champs, la vérification...
    ça se passe avant l'envoi ? en javascript ?
    ou c'est controlé coté serveur ?
    mais je pense que le problème n'est pas là.
    controler 2569875 champs prend trés peu de temps ( coté client ou coté serveur
            pour des contrôles basiques... )
       et n'empêche pas un .gif de s'animer... ( en général )
<hr />                Cordialement            Bul        
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>En fait je n'ai pas réussi à envoyé un fichier par Ajax.
    ah ???
    c'est lié à un problème d'envoi de fichier ?
    si on utilise http.. certes pas possible ( en utilisant les choses "standards" ! )
         mais ftp.... why not ? et ftp existe coté serveur !
<hr />                Cordialement            Bul        
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Au départ j'ai essayé avec Ajax mais ça ne marchait pas (à cause de l'envoi de fichiers). Du coup j'ai utilisé un formulaire envoyé "normalement".
Je vérifie les champs qui doivent l'être côté client, avant l'envoi, pour ne pas avoir à recharger la page (c'est une galerie d'images assez lourde) simplement pour dire qu'un champs n'a pas été rempli.
Mais effectivement ça ne devrait pas empêcher un GIF de s'animer...

Je suppose que c'est le passage d'une page à l'autre (de celle du formulaire à celle qui renomme l'image et insère dans la bdd) qui fige la page.

Mais ça me surprend quand même...

En tout cas merci
Messages postés
1
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
19 septembre 2008

Bonjour,

J'ai été confronté au même problème de départ : un gif animé qui se fige au submit d'une page.
Je viens de trouver une correction, et vu que c'est sur ce forum que le problème était le plus clairement décrit (y a pas mal de monde à avoir ce problème...) et qu'il n'est pas encore trop vieux, je me permet de vous envoyer le truc. Il m'a suffit d'ajouter le style visibility.

...
document.getElementById("loader").style.display="block";
document.getElementById("loader").style.visibility="visible";
frm.submit ();