Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compte à rebours

Sujet résolu
    9 mars 2010 à 18:34:51

    Bonjour,

    Pour m'entrainer et pour faire plaisir à mon papa, j'ai créé un compte à rebour jusqu'à sa retraite (comme indiqué 02/07/2010...)

    Je me suis déjà bien cassé la tête sur le début et j'ai obtenu ça :
    http://membres.multimania.fr/michtclub/index.html
    Une partie des scripts est ici :
    http://membres.multimania.fr/michtclub/scripts.js

    Mais j'aimerais bien faire un "mix" des deux versions du compteur mais j'en suis assez loin.

    Dans un premier temps j'ai essayer de faire reculer les secondes de 59 à 0 puis reboucler, (puis je ferais pareil avec les minutes, les heures et les secondes). Mais j'ai beau chercher à faire une boucle, sur les secondes, sur une variable i, je n'y parviens pas...

    Ensuite, il faudra rapprocher les images, mais ça sera peut-etre une deuxième manche...

    Je tiens à préciser que je ne tiens pas vraiment à ce qu'on le fasse à ma place, j'aime comprendre ce que je fais ou, dans le pire des cas, ce que je pompe... Ne voyez pas en moi qui cherche la facilité !

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2010 à 18:46:32

      Citation : Fetide68

      Je tiens à préciser que je ne tiens pas vraiment à ce qu'on le fasse à ma place, j'aime comprendre ce que je fais ou, dans le pire des cas, ce que je pompe... Ne voyez pas en moi qui cherche la facilité !



      Très bel état d'esprit. :) Je serais ravi de t'aider si j'avais compris quelque chose à ce que tu cherches à faire... :-°
      • Partager sur Facebook
      • Partager sur Twitter
        10 mars 2010 à 9:07:35

        EN gros je souhaiterais faire un compte à rebours avec images de l'exemple qui indiquerait :

        Temps restant avant le 2 aout 2010 - 16h00 :
        115 jours 6 heurs 45 minutes et 26 secondes

        Est-ce assez clair ?
        • Partager sur Facebook
        • Partager sur Twitter
          10 mars 2010 à 9:12:51

          Tu fais une durée en secondes jusqu'au temps final.
          Ensuite, pour avoir le nombre de minutes, tu fais
          m = Math.floor(duree / 60); // (arrondi à l'entier du dessous)
          

          puis le nombre de secondes :
          s = duree - 60*m;
          

          Et ainsi de suite.
          Tu vois le genre ?
          • Partager sur Facebook
          • Partager sur Twitter
            10 mars 2010 à 9:27:51

            Non... désolé, je vois pas...

            Tu as regardé le script ?

            Comment je fais la durée ?

            Pour l'instant j'ai fais ma durée un peu dans ce genre :

            maintenant=new Date();
            demain=new Date(2010,7,2,16,00);
            duree=demain.getTime()-aujourdhui.getTime();
            secondes=parseInt(duree/1000);
            minutes=parseInt(duree/(1000*60);
            ...
            


            Mais je n'arrive pas à en faire des secondes bouclant à l'enver de 59 à 0...
            • Partager sur Facebook
            • Partager sur Twitter
              10 mars 2010 à 12:20:34

              maintenant=new Date();
              demain=new Date(2010,7,2,16,00);
              duree=parseInt((demain-maintenant)/1000); // en secondes
              heures = Math.floor(duree/3600);
              minutes=Math.floor(duree/60) - (heures*60);
              secondes=duree - (minutes*60);
              
              //Etc...
              

              • Partager sur Facebook
              • Partager sur Twitter
                10 mars 2010 à 12:27:34

                ... mais c'est pas "aujourdhui" c'est "maintenant" :p

                Et la différence de deux dates est en millisecondes birdy ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  10 mars 2010 à 13:13:18

                  Copy-Paste ... :/
                  En effet, en milisecondes, tu me casses toute ma logique (désolé là je bossais sur un projet avec les timestamp et du coup bah... ^^ )
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 mars 2010 à 14:13:51

                    birdy c'est toujours pas ça... c'est /1000 sinon on est en µs si tu multiplie par 1000... du coup il faudra surement l'arrondir aussi
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 mars 2010 à 14:20:03

                      Ouais, ça je m'en doutais, j'ai changé le signe... Mais les minutes j'ai beau avoir compris pour les secondes, les minutes, ça ne fait pas grand chose... J'ai toujours un chiffre à rallonge !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 mars 2010 à 14:23:41

                        édité en haut avec correction de l'erreur et un exemple de plus ;) pour la suite des nombres, c'est toujours pareil...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 mars 2010 à 14:36:07

                          Ok désolé, j'ai pas vu...

                          Ce qui est drole aussi, c'est que pour les jours, j'obtiens 145 jours alors qu'il en reste 114 (j'ai compté)... jusqu'au 2 juillet ! Ca veut dire que tout est faut !

                          jours=Math.floor(duree/(60*60*24));

                          Pardon, j'ai trouvé, le mois de juillet est le 6e c'est vrai !
                          • Partager sur Facebook
                          • Partager sur Twitter
                            10 mars 2010 à 15:08:43

                            En JS, les mois commencent à 0... :-°

                            Juillet, c'est donc 6 :-°
                            • Partager sur Facebook
                            • Partager sur Twitter
                              10 mars 2010 à 16:00:51

                              Ok, maintenant, j'ai des images stockées dans un dossier... "images" que souhaiterais afficher en fonction chiffre à afficher.

                              Pour cela j'ai commencé par ajouté un '0' pour les dizaines... commençons par les secondes :

                              if(secondes<10) s=0+secondes; else s=secondes;
                              


                              Ensuite pour afficher l'image je créer deux balises d'images vides
                              <img src="" id="sec1" /><img src="" id="sec2" />'
                              


                              Et en javascript j'attribue la source depuis ma fonction :
                              document.getElementById('sec0').src='images/h'+s.charAt(0)+'.gif';
                              document.getElementById('sec1').src='images/h'+s.charAt(1)+'.gif';
                              


                              Mais cela ne marche pas !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                10 mars 2010 à 16:06:10

                                if(secondes<10) s='0'+secondes; else s=secondes;
                                
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  10 mars 2010 à 16:26:29

                                  Euh oui, j'ai changé entre temps, mais c'est le charAt qui semble me poser probleme
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    10 mars 2010 à 16:52:11

                                    if(secondes<10) s='0'+secondes; else s=''+secondes;
                                    


                                    Pour que les deux soient des chaînes de caractères. A partir de là, ça doit fonctionner. :)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      10 mars 2010 à 17:11:39

                                      Super, Vraiment sympa... Je viendrai mettre résolu plus tard et donner l'exemple pour ceux qui veulent me piquer les scripts.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        10 mars 2010 à 17:22:40

                                        Tant que tu n'oublies pas de mettre en résolu...
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          10 mars 2010 à 18:42:19

                                          Sans images : http://membres.multimania.fr/killmicht/
                                          Police : http://www.dafont.com/fr/lcd-lcd-mono.font
                                          Avec images : http://membres.multimania.fr/killmicht/index2.html

                                          Juste une dernière question :

                                          est-ce que je pourrais en faire une application en .exe ? Dans quel language ?
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            10 mars 2010 à 19:16:46

                                            En faire un .exe... Pas franchement...

                                            Enfin je crois pas.

                                            Faudrait trouver un log qui permette d'utiliser du JS... ?

                                            Sinon, des langages pour faire des .exe y'en a plein :p La grande majorité des langages de programmation en fait ^^
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              11 mars 2010 à 9:48:10

                                              Merci. J'ai regardé un peu les cours de c++, je crois que ça ressemble assez au js pour que je m'en sorte !
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Compte à rebours

                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                              • Editeur
                                              • Markdown