Partage
  • Partager sur Facebook
  • Partager sur Twitter

Décompte avec redirection

Sujet résolu
    22 février 2008 à 0:01:29

    Bonjour,

    Je suis débutant en JavaScript, et je désire faire un script qui décompte de 10 secondes avant de rediriger le visiteur...
    facile : <meta http-equiv="refresh" content="10;URL=..." />
    non non non ;)

    Je veux que le script dise : Vous allez être redirigé dans [10;09;08..] seconde(s).

    (que l'on voit les secondes bouger quoi....)
    j'ai commencer ce script, mais je me perd un peux :euh:

    1. maintenent = new Date;
    2. tempsMaintenent = maintenent.getTime();
    3. [...aïe...aïe...aïe...]
    4. document.getElementById("compt").innerHTML = ...;
    5. </script>
    6. </head>
    7. <body>
    8. Vous allez être redirigé dans <span id="compt"></span> seconde(s).


    Merci à vous !
    • Partager sur Facebook
    • Partager sur Twitter
      22 février 2008 à 0:12:55

      Il faut utiliser la magique fonction setInterval :
      1. var compte=10;
      2. function decompte()
      3. {
      4.     document.getElementById("compt").innerHTML =compte+' seconde(s) avant la redirection...';
      5.     compte--;
      6. }
      7. decompte();
      8. setInterval('decompte()',1000);
      • Partager sur Facebook
      • Partager sur Twitter
        22 février 2008 à 0:40:12

        Salut
        Pour SetInterval, je m'y attender ^^
        Mais je penser tout bêtement qu'il fallait aller trifouiller dans les timestamp !
        Mais non :lol:

        alors, j'ai modifier le script (en réaliter, c'est avant d'attendre un téléchargement..)
        head :
        1. <script language="javascript" type="text/javascript">
        2. var compte=10;
        3. function decompte()
        4. {
        5.         if(compte <= 1) {
        6.         pluriel = "";
        7.         } else {
        8.         pluriel = "s";
        9.         }
        10.     document.getElementById("compt").innerHTML = compte + " seconde" + pluriel;
        11.     compte--;
        12.         if(compte == 0 || compte < 0) {
        13.         compte = 0;
        14.         window.location.replace('fichier.rar');
        15.         }
        16. }
        17. setInterval('decompte()',1000);
        18. </script>

        1. <body onload="decompte();">

        body
        1. Le téléchargement commenceras dans <span id="compt"></span>...


        J'ai mi un :
        || compte < 0
        et :
        compte = 0;
        (dans la dernière condition)
        pour éviter que ça ne fasse -1 , -2, -3 ...
        Mais comme c'est un téléchargement, la fenêtre qui me propose de télécharger le fichier, je me fais envahir, toutes les secondes, yen a une de plus...

        Je sais pourquoi, c'est évidant, mais comment y remédier ?

        Merci à toi :)
        PS: j'ai ajouter une condition pour le pluriel, piti détail :lol::D:p
        • Partager sur Facebook
        • Partager sur Twitter
          22 février 2008 à 1:53:46

          Cadeau :-°

          1. <script type="text/javascript">
          2.         window.onload = Init;
          3.         var waitTime = 5; // Temps d'attente en seconde
          4.         var url = '';     // Lien de destination
          5.         var x;
          6.         function Init() {
          7.                 window.document.getElementById('compteur').innerHTML = waitTime;
          8.                 x = window.setInterval('Decompte()', 1000);
          9.         }
          10.         function Decompte() {
          11.                 ((waitTime > 0)) ? (window.document.getElementById('compteur').innerHTML = --waitTime) : (window.clearInterval(x));
          12.                 if (waitTime == 0) {
          13.                         window.location = url;
          14.                 }
          15.         }
          16. </script>
          17. <div><p>Veuillez patienter <span id='compteur'>5</span> secondes s'il vous plait</p></div>
          • Partager sur Facebook
          • Partager sur Twitter
            22 février 2008 à 2:04:43

            bon.... je m'y attendais...

            Merci à toi, c'est gentil de ta pars, mais ça ne m'interresse pas...
            Mon but, c'est d'apprendre le JavaScript, pas de faire Ctrl + C, Ctrl + V... >_<

            Sinon, juste quand tu a poster, j'allais éditer, et ça marche nickel ;) :

            head et head :
            1. <script language="javascript" type="text/javascript">
            2. var compte = 10;
            3. function decompte()
            4. {
            5.         if(compte <= 1) {
            6.         pluriel = "";
            7.         } else {
            8.         pluriel = "s";
            9.         }
            10.     document.getElementById("compt").innerHTML = compte + " seconde" + pluriel;
            11.         if(compte == 0 || compte < 0) {
            12.         compte = 0;
            13.         window.location.replace('fichier.rar');
            14.         clearInterval(timer);
            15.         }
            16.     compte--;
            17. }
            18. var timer = setInterval('decompte()',1000);
            19. </script>

            1. <body onload="decompte();">

            body :
            1. Le téléchargement commenceras dans <span id="compt"></span>...


            Merci à vous ! sujet résolu !
            • Partager sur Facebook
            • Partager sur Twitter
              22 février 2008 à 2:12:46

              Juste comme ça, tu as pensé à rajouter la balises méta "refresh" en plus sur cette page, au cas où l'utilisateur qui aurait désactivé javascript accède quand même au téléchargement ;)
              • Partager sur Facebook
              • Partager sur Twitter
                22 février 2008 à 12:19:25

                Euh juste une correction
                Le téléchargement commencera dans
                Pas de S à commencera.
                • Partager sur Facebook
                • Partager sur Twitter

                Décompte avec redirection

                × 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