IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Faire patienter avec image animée


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 243
    Par défaut Faire patienter avec image animée
    Bonjour, je voudrais su ma page chargée via ajax, faire patienter l'internaute avec une image animée.

    Script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <script type="text/javascript">
     
         var xhr=null;
     
         function rafraichir()
         {
            if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
            else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
            else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
            xhr.open('GET','listet.php',true);
            xhr.onreadystatechange = ajaxReponse;
            xhr.send(null);
         }
     
         function ajaxReponse() {
     
    		if(xhr.readyState == 3) { 
    			 document.getElementById('loader').style.display = "block";
    		}
    		else if (xhr.readyState == 4 && xhr.status == 200) {
     
    			document.getElementById('loader').style.display = "none";
    			document.getElementById("affichage").innerHTML=xhr.responseText;
    			var timer=setTimeout(rafraichir,10000);
            }
         }
       rafraichir(); 
    </script>
    Code html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="affichage"></div>
    <div id="loader" style="display:none;"><img src="images/PlagiatLoading.gif" class="loader" /></div>

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if(xhr.readyState != 4){
    			 document.getElementById('loader').style.display = "block";
    		}
    		else {
     
    			document.getElementById('loader').style.display = "none";
                            if (xhr.status == 200) { 
    			           document.getElementById("affichage").innerHTML=xhr.responseText;
    			           var timer=setTimeout(rafraichir,10000);
    			} else {
    			   alert("Erreur" + xhr.status +":"+ xhr.statusText );
    			}
            }

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 243
    Par défaut
    Salut, un soucis avec le code. Le loader ne s'affiche pas mais lorsque je teste si le readyState != 4 (test OK) en ce moment le loader s'affiche.
    Faut-il mettre un pause de quelque seconde ?

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Essaie avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     xhr.open('GET','listet.php',true);
    document.getElementById('loader').style.display = "block";
            xhr.onreadystatechange = ajaxReponse;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		if(xhr.readyState == 4) {
     
    			document.getElementById('loader').style.display = "none";
                            if (xhr.status == 200) { 
    			           document.getElementById("affichage").innerHTML=xhr.responseText;
    			           var timer=setTimeout(rafraichir,10000);
    			} else {
    			   alert("Erreur" + xhr.status +":"+ xhr.statusText );
    			}
            }
    A+.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 243
    Par défaut
    Le code ne marche pas en plus le fichier liste.php n'est pas chargé dans la div affichage.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 243
    Par défaut
    J'ai trouvé une solution mais après le chargement de la page, le script faire une pause d'environ 15s avec de lancer le loader

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <script type="text/javascript">
     
         var xhr=null;
     
         function rafraichir()
         {
            if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
            else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
            else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
            xhr.open('GET','listetrajet.php',true);
            xhr.onreadystatechange = ajaxReponse;
            xhr.send(null);
         }
     
         function ajaxReponse() {
     
    		if(xhr.readyState != 4) { 
    			document.getElementById('loader').style.display = "block";
    		}
    		else {
    			if(xhr.status == 200) {
    				document.getElementById("affichage").innerHTML=xhr.responseText;
    				document.getElementById('loader').style.display = "none";
    				var timer=setTimeout(rafraichir,10000);
    			}
            }
         } 
     
       rafraichir(); 
    </script>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Faire patienter avec setTimeout()
    Par Laurelaie dans le forum AJAX
    Réponses: 2
    Dernier message: 23/07/2009, 13h46
  2. Faire glisser une image trop grande avec la souris
    Par avogadro dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 28/07/2006, 16h50
  3. pb avec une image animée
    Par kivoch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/01/2006, 16h32
  4. faire dérouler une image avec l'api win32
    Par gdkenny dans le forum Windows
    Réponses: 6
    Dernier message: 26/11/2005, 21h46
  5. [Image] Gif animé avec image magick
    Par rigolman dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 20/10/2005, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo