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

Contributions JavaScript / AJAX Discussion :

Comment afficher l'heure en temps réel ? [Fait]


Sujet :

Contributions JavaScript / AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut Comment afficher l'heure en temps réel ?
    http://javascript.developpez.com/faq...e=date#Horloge

    • Les variables du code ne sont pas déclarées (il manque le mot-clef var). Il y a également la présence d'une variable timerRunning dans la fonction. Je me suis demandé s'il fallait la supprimer car on peut se demander quel est son rôle.... Puis je l'ai déclarée globale et initialisée à false, je pense qu'ainsi on comprend mieux sa présence.
    • Je me permets d'ajouter que l'autre syntaxe possible de setInterval() utilisé dans l'exemple est
      Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
      var timerID = setInterval("runClock()","1000");
      (avec des guillemets pour les arguments).
    • Il y a également une petite faute d'orthographe dans le commentaire du code (il manque un "s" dans "le nombre de minute")
      Par ailleurs, est-ce que le terme timer prend un "s" au pluriel car c'est un mot anglais (j'ai toutefois laissé le "s" dans ma proposition de correction) ?
      Dans le commentaire du code il est écrit :
      on rajoute un 0
      , personnellement, je préfère le verbe "ajouter" à "rajouter" donc :
      on ajoute un 0
    • Il faut également mettre à jour le code source correspondant :
      http://javascript.developpez.com/tel...-en-temps-reel



    Voici ma proposition de correction :

    Les timers JavaScript permettent d'exécuter des fonctions à des intervalles de temps donnés. Ainsi, pour notre horloge, nous allons utiliser setInterval qui se déclenchera toutes les 1000ms pour mettre à jour l'heure affichée sur l'horloge.

    Voici la fonction pour afficher l'heure :
    Code javascript : 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
     
    var timerRunning = false;
    function runClock() 
    {
      var today   = new Date();
      var hours   = today.getHours();
      var minutes = today.getMinutes();
      var seconds = today.getSeconds();
      var timeValue = hours;
     
      // Les deux prochaines conditions ne servent que pour l'affichage.
      // Si le nombre de minutes est inférieur à 10, alors on ajoute un 0 devant...
     
      timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
      timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
      document.getElementById("time").value = timeValue;
      timerRunning = true;
    }
     
    var timerID = setInterval(runClock,1000);

    Et voici le champ texte :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" id="time" size="10" />

    Remarque :
    Une autre syntaxe possible de la fonction setInterval() utilisée dans l'exemple est
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var timerID = setInterval("runClock()","1000");
    (avec des guillemets pour les arguments).

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Auteur
    [list][*]Je me permets d'ajouter que l'autre syntaxe possible de setInterval() utilisé dans l'exemple est
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var timerID = setInterval("runClock()","1000");
    (avec des guillemets pour les arguments).
    Je ne suis pas sûr que ce soit très opportun : utiliser une chaine de caractère en premier argument est fortement déconseillé et à éviter au maximum...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Je ne suis pas sûr que ce soit très opportun : utiliser une chaine de caractère en premier argument est fortement déconseillé et à éviter au maximum...
    Ok dans ce cas, on retire la remarque que j'ai ajoutée.

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut


    Je vais attendre que toute la section sur les dates soit relue (c'est peut-être déjà le cas) afin de faire les modifications en une fois.

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par vermine Voir le message


    Je vais attendre que toute la section sur les dates soit relue (c'est peut-être déjà le cas) afin de faire les modifications en une fois.
    Pas encore. Je te préviendrai par MP quand j'aurai fini

  6. #6
    Membre expérimenté
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par défaut
    Beau boulot Auteur

    Juste une remarque dans la rédaction des Q/R, je pense qu'il faudrait garder une certaine homogénéité "dans l'aspect" quand nous écrivons en dehors du code le nom des fonctions/méthodes que nous utilisons.

    Pour être plus clair :

    getTime() => gras
    et
    SetInterval => identique au reste du texte

    J'écris peut être pas au bon endroit, mais c'est relisant cette Q/R que j'ai remarqué ce petit détail

Discussions similaires

  1. Afficher l'heure en temps réel sur mon USF
    Par vitalus dans le forum Excel
    Réponses: 2
    Dernier message: 01/07/2015, 00h32
  2. Comment afficher l'heure en temps réel ?
    Par simone.51 dans le forum Téléchargez
    Réponses: 0
    Dernier message: 04/10/2011, 17h33
  3. Afficher l'heure en temps réel
    Par Kel-T dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/06/2010, 16h47
  4. Réponses: 4
    Dernier message: 16/06/2006, 03h29

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