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

JavaScript Discussion :

Faire une pause entre deux tours de boucles


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut Faire une pause entre deux tours de boucles
    Bonjour,

    Je réalise un script de défilement d'image.
    Je souhaite intégrer une pause à l'intérieur de ma boucle while afin de bien avoir le temps de voir chaque image car sinon on ne voit que la dernière.

    Je connais la méthode setTimeout() mais je ne comprend pas ce que je doit mettre comme premier paramètre

    Voici l'extrait de mon script en question :
    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
      while (tourne){
    					switch(indice){
    					case 1:
    						$('#zone1').html('<img id="image1" src="img1.jpg" alt="img1" title="img1" />');
    						break;
    					case 2: 
    						$('#zone1').html('<img id="image1" src="img2.jpg" alt="img2" title="img2" />');
    						break;
    					default :
    						alert(" cas défault switch, caleur de l'indice : "+indice);
    						break;
    				}
    					if(nbTour>limite){
    						tourne = false;
    					}else{//sinon on incrémente nbTour
    						nbTour++;
    					}
     
    					if ((indice != 1) && (2%indice ==0)){
     
    						indice = 1;
    					}else{ 
    						indice++;
    					}
     
    				}
    Aujourd'hui pour tester le déroulement de mon script, je place des alerts afin de bien marquer toutes les étapes mais une fois en production ça ne sera pas possible

    Merci d'avance pour votre aide,

    Mathieu

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    bonjour,

    il serait édifiant de contempler ton settimeout(), en fait;

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Je connais la méthode setTimeout() mais je ne comprend pas ce que je doit mettre comme premier paramètre
    je dois admettre que j'ai un peu de mal avec cette phrase
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var iTimer = setTimeout( function(){
      // instruction à exécuter
    }, delay_en_milliseconde);
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var iTimer = setTimeout( reference_a_la_function, delay_en_milliseconde);

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Oui mais dans le cas présent, je n'ai pas de fonction à mettre en paramètre

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Si la question est Faire une pause entre deux tours de boucles, la réponse est setTimeout ou setInterval, donc il te faut trouver ce qu'il y a à mettre dans la fonction.

    Regardes ce que tu as mis dans ta boucle, c'est en substance ce que tu devrais trouver dans ta fonction.

    Rappel : Si tu utilises setTimeout il faut penser à rappeler ce setTimeout.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Hum alors faire une fonction avec le switch. Ok merci je vais essayer ça

    Tu entends quoi par rappeler la fonction setTimeout() ?

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    exemple simple:
    avec setTimeout
    Code html : 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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[setTimeout]</title>
    </head>
    <body>
    <div id="texte"></div>
    <script>
    var tab = ['un', 'deux', 'trois', 'quatre'],
        oDiv = document.getElementById('texte'),
        ind = 0,
        maxi = tab.length;
     
    function affiche(){
      ind = ind % maxi;          // bornage de l'indice
      oDiv.innerHTML = tab[ind]; // écriture valeur
      ind++;                     // indice suivant
      setTimeout( affiche, 500); // relance la fonction
    }
    affiche();                   // lance la fonction
    </script>
    </body>
    </html>
    avec setInterval cela devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function affiche(){
      ind = ind % maxi;          // bornage de l'indice
      oDiv.innerHTML = tab[ind]; // écriture valeur
      ind++;                     // indice suivant
    //  setTimeout( affiche, 500); // relance la fonction
    }
    affiche();                   // lance la fonction
    setInterval( affiche, 500);  // relance la fonction tout les 500ms

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Merci ça marche

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

Discussions similaires

  1. [MySQL] Faire une jointure entre deux tables qui ne sont pas dans la même base de données
    Par sandddy dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 03/04/2008, 14h18
  2. mettre une pause entre deux instructions
    Par christianf dans le forum C#
    Réponses: 3
    Dernier message: 21/02/2008, 14h43
  3. faire une division entre deux sommes
    Par dylane.sof dans le forum SQL
    Réponses: 8
    Dernier message: 13/08/2007, 16h45
  4. faire une différence entre deux tables
    Par geay dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/09/2006, 15h33
  5. Faire une division entre deux chiffres?
    Par shun dans le forum Langage SQL
    Réponses: 9
    Dernier message: 09/09/2005, 16h37

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