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 :

Compte à rebours trop rapide


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut Compte à rebours trop rapide
    Salut,

    Je veux tester un compte à rebours:

    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
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    var time = 10;
    function CountDown() {
    if (time>0) {
    document.getElementById("aff").value = time + " secondes";
    --time
    setInterval("CountDown()", 1000)
    }
    else {
    document.write("Fini");
     }
    }
    </SCRIPT>
    </head>
    <body OnLoad="CountDown()">
    <input style="border:none" READONLY type="text" id="aff" name="aff" value="">
     
    </body>
    </html>
    Alors il m'affiche bien 10, 9 mais après 7, 3, -fin-.
    J'ai fait des alert et je pense que c'est parce qu'au niveau du 8, 6, 5, 4, 2, 1 ça va trop vite mais je ne sais pas comment résoudre ça!

    Comment faire ?
    Merci

  2. #2
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    J'ai trouvé ce n'est pas SetInterval mais SetTimeOut

  3. #3
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    setInterval va exécuter la fonction CountDown() toutes les secondes. Or tu redéclare ce setInterval à chaque appel de CountDown(), donc cette fonction va être appellée plus de fois que prévu.

    Pour remédier à ça, utilise setTimeout à la place de setInterval, ou alors place ton setInterval dans le onload de ta balise body, et enlève celui se trouvant dans la fonction CountDown.

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

Discussions similaires

  1. Compte à rebours
    Par Anduriel dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/12/2005, 20h12
  2. [VBA-E] Liaisons qui ne se mettent pas à jour (macro trop rapide?)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 21/11/2005, 09h36
  3. compte à rebours
    Par Datord dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 17/11/2005, 21h22
  4. compte à rebours
    Par etoile1506 dans le forum C
    Réponses: 10
    Dernier message: 27/10/2005, 15h20
  5. Horloge 2x trop rapide!
    Par rgy834 dans le forum Administration système
    Réponses: 6
    Dernier message: 24/10/2005, 21h08

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