Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] décompte

[...] 10 9 8 7 6 5 4 3 2 1 0.

    28 avril 2006 à 1:17:14

    salut tout le monde !

    ben tout est dans le titre, je conai tres tres peu le JS, et je veu afficher un décompte en secondes qui afficherai juste "10" pui "9" pui "8" etc etc jusqu'a "0" par exemple... c'est tout, rien de plus, rien de moin...

    merci d'avance ^^
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      28 avril 2006 à 4:04:09


      var temps = 30; // ici tu met le temps que tu veut

      var debut = new Date();
          debut = debut.getTime();

      var compteur = setInterval('decompte();',1000);

      function decompte()
      {
          var tmp = new Date();
              tmp = tmp.getTime();

          tmp = temps - (tmp - debut);

          if (tmp > 0) {
              document.getElementById('compteur').innerHTML = tmp;
          }
          else {
              clearInterval(compteur); // sinon le script se sent plus et il s'arrete pu
          }
      }
      • Partager sur Facebook
      • Partager sur Twitter
        28 avril 2006 à 14:27:19

        ok et ca on le met ou ?
        dans des balises <script> </script> ?
        et comment s'affiche le décompte ?

        y'a une fonction html pour afficher ce décompte ? ^^
        • Partager sur Facebook
        • Partager sur Twitter
          28 avril 2006 à 16:01:51

          Salut,

          D'abord, oui, ce code se met dans des balises <script> et en commentaire pour que le code ne soit pas affiché si le naviguateur ne le supporte pas.
          Comme ceci :

          <script type="text/javascript">
          <!--
          var temps = 30; // ici tu met le temps que tu veut

          var debut = new Date();
              debut = debut.getTime();

          var compteur = setInterval('decompte();',1000);

          function decompte()
          {
              var tmp = new Date();
                  tmp = tmp.getTime();

              tmp = temps - (tmp - debut);

              if (tmp >
          0) {
                  document.getElementById('compteur').innerHTML = tmp;
              }
              else {
                  clearInterval(compteur); // sinon le script se sent plus et il s'arrete pu
              }
          }
          //-->
          </script>


          Ensuite, le javascript est comme le PHP : quand tu crées une fonction, tu peux l'exécuter après.

          Ici, le code à mettre dans <body> pour afficher le décompte sera :

          <a href="javascript:decompte()">Faire un décompte</a>


          Ou si tu veux l'exécuter de suite :

          <body onload="decompte()">
          <!-- À la place de la balise <body> -->


          Je pense que c'est ça pour le onload, à justifier :)
          • Partager sur Facebook
          • Partager sur Twitter

          Ancien validateur du SdZ.

          Anonyme
            28 avril 2006 à 16:13:05

            presque ^^

            window.onload = decompte;

            il faut pas mettre les () parceque l'on affecte la fonction on l'execute pas

            il faut mettre un div avec l'id compteur

            <html>
            <head>
            <title>hop</title>
            <script type="text/javascript">
            var temps = 30; // ici tu met le temps que tu veut

            var debut = new Date();
                debut = debut.getTime();

            window.onload = decompte;
            var compteur = setInterval('decompte();',1000);

            function decompte()
            {
                var tmp = new Date();
                    tmp = tmp.getTime();

                tmp = temps - (tmp - debut);

                if (tmp > 0) {
                    document.getElementById('compteur').innerHTML = tmp;
                }
                else {
                    clearInterval(compteur); // sinon le script se sent plus et il s'arrete pu
                }
            }
            </script>
            <body>

            <div id="compteur"></div>

            </body>
            </html>



            ( edit )
            ce que j'ai poster au dessus ca marche pas ...
            <html>
            <head>
            <title>hop</title>
            <script type="text/javascript">
            var temps = 20; // ici tu met le temps que tu veut

            window.onload = function ()
            {
                    debut = new Date();
                debut = debut.getTime();
               
                    document.getElementById('compteur').innerHTML = temps +'s';
                   
                    cmp = setInterval('decompte();',990);
            }



            function decompte()
            {
                var tmp = new Date();
                    tmp = tmp.getTime();

                tmp = temps - ((tmp - debut)/1000);

                if (tmp > 0) {
                    document.getElementById('compteur').innerHTML = Math.round(tmp) +'s';
                }
                else {
                    clearInterval(cmp); // sinon le script se sent plus et il s'arrete pu
                }
            }
            </script>
            <body>

            <div id="compteur"></div>

            </body>
            </html>


            ca ca marche, copie colle et test
            apres modifie comme tu en as besoin
            • Partager sur Facebook
            • Partager sur Twitter

            [JS] décompte

            × 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