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 :

Fonction r�cursive avec setTimeout pour simuler une boucle avec delay.


Sujet :

JavaScript

  1. #1
    Membre � l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2023
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2023
    Messages : 5
    Par d�faut Fonction r�cursive avec setTimeout pour simuler une boucle avec delay.
    Bonjour. J'ai mon programme qui envoie sur diff�rentes pages web contenant une question. Pour cela, j'utilise une fonction r�cursive et setTimeout (5secondes avant de changer d epage web). Le probl�me je tombe directement sur la page 3 (cm1n3 sur mon prog).
    Les progs.
    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
    <html>
    <head>
        <title> Calcul mental </title>
        <link rel="stylesheet" href="milancss.css">
     
    </head>
    <body>
        <h1> Calcul mental n°1 : calculs de pourcentages </h1>
        <p>3 calculs vont se succeder</p>
        <button id="mybutton">Approve</button>
        <script src="presentationsti.js"></script>
     
    </body>
    </html>

    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
    function suivant(x){
        if(x==='0'){self.location.href = "cm1n1.html";//Ne passe au suivant que dans 5s
            setTimeout(suivant(x+1), 5000);}        
        else if (x==='1'){self.location.href = "cm1n2.html";//Ne passe au suivant que dans 5s
            ;setTimeout(suivant(x+1), 5000);}  
        else{self.location.href = "cm1n3.html";
       }
    }
     
     
    let element = document.getElementById("mybutton");
    element.addEventListener('click', e => {
    suivant(0);
     
    }    
    )

  2. #2
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 520
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 520
    Par d�faut
    Bonjour,

    soit if(x=='0') seulement avec deux signes �gales
    ou bien if(x==0) toujours avec les deux signes �gales mais sans les apostrophes autour du nombre
    ou bien if(x===0) avec 3 signes �gales et sans les apostrophes autour du nombre.

    les 3 signes �gales a===b v�rifient que les valeurs et aussi les types des deux variables sont identiques, et donc '0'===0 retourne false, car le type de '0' est une chaine de caract�re et 0 est un entier.

  3. #3
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    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 684
    Par d�faut
    Tu peux aussi simplifier ta fonction en demandant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    self.location.href = `cm1n${x+1}.html`

Discussions similaires

  1. Calcul de complexit� d'une fonction r�cursive avec boucle for
    Par Alphakiwi dans le forum Algorithmes et structures de donn�es
    R�ponses: 3
    Dernier message: 01/05/2019, 16h31
  2. Probl�me pour arr�ter une boucle avec un bouton
    Par Zizook dans le forum Tkinter
    R�ponses: 17
    Dernier message: 17/03/2014, 13h26
  3. R�ponses: 26
    Dernier message: 22/01/2014, 03h10
  4. [ctypes]Probl�me pour simuler une combinaison de touche avec ctypes
    Par Estudiante dans le forum Interfa�age autre langage
    R�ponses: 0
    Dernier message: 29/09/2009, 17h46
  5. R�ponses: 2
    Dernier message: 11/05/2009, 19h04

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