Afficher un GIF animé

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 4 juin 2008 à 12:00
Math3583 Messages postés 1 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 19 septembre 2008 - 19 sept. 2008 à 15:37
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juin 2008 à 13:03
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        
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juin 2008 à 13:05
>>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        
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
4 juin 2008 à 13:37
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)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juin 2008 à 13:50
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        
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
4 juin 2008 à 14:04
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)
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
4 juin 2008 à 14:09
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é...).
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
4 juin 2008 à 14:16
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...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juin 2008 à 14:19
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        
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
4 juin 2008 à 14:20
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)
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
4 juin 2008 à 14:23
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
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
4 juin 2008 à 14:33
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.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juin 2008 à 14: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        
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juin 2008 à 14:42
>>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        
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
4 juin 2008 à 14:53
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
0
Math3583 Messages postés 1 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 19 septembre 2008
19 sept. 2008 à 15:37
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 ();
0
Rejoignez-nous