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 :

Minuteur, sans l'objet date.


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 22
    Points : 26
    Points
    26
    Par défaut Minuteur, sans l'objet date.
    Bonjour,
    j'essaie de comprendre le fonctionnement d'un script créant un minuteur qui n'utilise pas l'objet date dans le but de progresser.
    Le code est fonctionnel mais je ne comprends pas du tout la première partie(de la ligne 1 à la ligne 4) et ce qui est à l'origine du déclenchement du minuteur dans la fenêtre du navigateur.
    var seconds = 600 (ça en faisant des essais je m'aperçois que c'est une valeur qui détermine le temps en seconde du minuteur)
    mais la suite là je bloque totalement. Si jamais quelqu'un pourrai me donner un piste je vous en remercie d'avance. =)

    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
    <!DOCTYPE html>
    <html>
     
    		<head>
    			<meta charset="UTF-8">
    			<link rel="stylesheet" href="style.css">
                <title> TIMER 2 </title>
    		</head>
     
     
            <body>
     
         <span id="countdown" class="timer"></span>
                       <script src="timer.js"> </script>
     
            </body>
     
    </html>

    Code javaSciprt : 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
    var seconds = 600;  // 10 minutes
    function secondPassed(){
        var minutes = Math.round((seconds - 30) / 60);     //  (600- 30) / 60) = 9.5        // math round permet d'arrondir à 10
        var remainingSeconds = seconds % 60;   //seconde restantes ( 600 modulo 60 = 0)
     
        if(remainingSeconds < 10) {   
        remainingSeconds = "0" + remainingSeconds;
        }
     
        document.getElementById("countdown").innerHTML =   + minutes + " minutes" + ":" +remainingSeconds + " secondes";
     
        if(seconds == 0) { // si var seconds = 0 alors le minuteur est terminé et affiche un message.
        clearInterval(countdownTimer); // Permet d'annuler une action répétée minutée initiée via un appel à setInterval().
        document.getElementById("countdown").innerHTML = "fin du compte à rebours"; // si les secondes sont = 0 alors affiche "fin du compte à rebours"
        }else{
            seconds --; // si les secondes ne sont pas à zéro alors on décremente.
        }
    }
    var countdownTimer = setInterval('secondPassed()',1000); // / l'interval du décompte est de 1000 millisecondes soit 1 seconde.

  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
    salut,

    La fonction secondPassed() décrémente le nombre de secondes jusqu'à 0 (ligne 16)
    La fonction est rappelée toutes les secondes par la méthode globale setInterval() (ligne 19)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Merci pour votre précision, je n'arrive toujours pas à comprendre
    le calcule suivant, pourquoi seconds - 30 ?

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      var minutes = Math.round((seconds - 30) / 60);

  4. #4
    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
    C'est une astuce pour que le nombre de minutes soit décrémenté automatiquement malgré l'arrondi.
    Mais le plus simple est d'utiliser à la place:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var minutes = Math.floor(seconds / 60)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    ok merci beaucoup pour l'information !!!! ^^

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

Discussions similaires

  1. transformer des objets Date et Integer
    Par Edta dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 25/12/2007, 16h25
  2. Ajouter des jours à un objet Date
    Par lity7 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 03/11/2007, 15h40
  3. [POO] Objet Date et méthode setYear()
    Par NikoBe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/12/2006, 18h37
  4. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 13h44
  5. []Enlever 1 an à un objet "Date"
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/10/2002, 17h21

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