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 :

Décompter vers une date


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 021
    Points : 308
    Points
    308
    Par défaut Décompter vers une date
    Bonjour,
    Je voudrais créer une page sur la quelle il y aurait affiché :

    Encore xx jours, xx heure, xx minutes, xx secondes avant le 12/04/2013.

    Quelqu'un saurait il comment créer un compteur qui décompte ET RESTE ACTIF UNE FOIS LA PAGE AFFICHEE. (qu'il continue de décompter).

    S'il y a quelque part des bouts de code pour ça je suis preneur :-)

    Merci.

    A peluches.

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    Un compteur qui reste actif quand la page est fermée ce n'est pas possible.
    Le protocole HTTP est un protocole client-serveur, s'il n'y a pas de requête il n'y a rien qui s'exécute.

    Par contre un compteur qui se remet à jour à chaque requête c'est possible.

    Avec la fonction time() tu récupéreras la date et l'heure du jour sous le format du nombre de secondes depuis le 1er janvier 1970.
    Avec la fonction
    Avec mktime() tu pourras créer une date sous le même format mais en spécifiant en argument la date convenue.
    Une simple soustraction et tu as le nombre de secondes entre les deux dates.
    Après il suffit de diviser successivement pour obtenir le nombre de minutes, d'heures, de jours...

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 021
    Points : 308
    Points
    308
    Par défaut
    Non non j'ai pas dit quand la page est fermée, j'ai dit quand elle est affichée.
    Donc en fait si le gars regarde son écran il verrait le temps s'égrainer devant lui.
    Ça doit pas être super précis mais ça doit donner l'impression de l'être....

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Tu dois voir au coté javascript

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Comme dit m4riachi il faut voir du côté de javascript si tu veux que le compteur reste actif et défile.
    Ce topic pourrait t'intéresser.

  6. #6
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 021
    Points : 308
    Points
    308
    Par défaut
    Moi ce que je voudrais faire est finalement assez simple par rapport à ce qui est expliqué ici.

    J'ai une page, on va dire index.html.
    quand les gens vont sur www.mystèreetbouledegomme.com ils arrivent sur cette page.
    Jusqu'au 12/02/2013, je veux juste afficher sur cette page :

    ENCORE XX jours, XX heures, XX secondes avant de découvrir ce qui se cache ici.
    Je veux que ça continue à décompter une fois la page affichée.

    Je n'ai pas vraiment besoin d'autre chose car quand le compteur arrivera à la date fatidique je changerai simplement la page index.html pour qu'elle affiche le mystère en question...

    Alors qui se sent l'ame d'un synthétiseur bien didactique pour tenter de me cortiquer ?

  7. #7
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 021
    Points : 308
    Points
    308
    Par défaut
    Merci pour le topic ou on parle de décompte.
    J'ai été voir et j'ai recopié bêtement ce bout de code.
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <script type="text/javascript">
    //Déclaration d'une variable globale qui pourra être utilisée dans toute la page
    var mon_timer;
     
    function start(duree)
    {
    o=document.getElementById('box')
       if(duree >= 0)
       {
           o.value = duree;
           //Démarrage du timer
           mon_timer = setTimeout(function(){start(duree-1)}, 1000);
       }
       else
       {
           o.value ="Vendu !!!";
       }
    }
     
    function restart(duree)
    {
       //Nettoyage du timer
       clearInterval(mon_timer);
     
       //Démarrage d'un nouveau timer
       start(duree);
    }
    </script>
     
    </head>
    <body onload="start(3);">
       <input type="button" id="box" height="20" value=""/><br><input type="button" onclick="restart(3)" value="encherir!" />
    </body>
    </html>
    Dans une page que j'ai ensuite ouverts sur mon navigateur.
    Je vois comme prévu un décompte, un bouton qui affiche enchérir puis vendu quand le compteur arrive à 0.

    Mon souci c'est que je ne comprends pas grand chose à ce code.
    Tout d'abords le compteur décompte toujours depuis 3 (3,2,1,0).
    D’où sort il cette valeur 3 ?
    Il semble décompter en secondes est il possible de "formater" pour que le décompte soit du style XX jours, XX heures, XX minutes ou XX secondes ou alors le décompte se fait il toujours en seconde et on doit faire une conversion ensuite ?
    Si on doit faire cette conversion c'est aussi en flash je suppose ?
    D'Autre part est il possible de ne pas afficher des buttons mais juste du texte et est il possible de changer les caractères ?
    Aussi une autre question, si on veut décompter jusqu'a une date est ce qu'on doit donner une valeur en secondes ou peut on donner une date directement ?

    Merci de votre aide.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : 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
    21
    22
    23
    24
    25
    26
    <script type='text/javascript'>
    var running
    var end =new Date(2012,11,12)
    var day =1000*60*60*24
     
    function launch(){
     running=setInterval(function(){chrono()},1000);
    }
     
    function chrono(){
           now=new Date()
           diff=end.getTime() - now.getTime()
    		var remainingTime= new Date(diff);                 		
    		if (diff==0){ clearTimeout(running);
                                   alert("c'est la fin")
     	                        }
    document.getElementById('clock').innerHTML=Math.floor(remainingTime.getTime()/day)+" jours : "+ remainingTime.getHours()+" heures : "+remainingTime.getMinutes()+" minutes : "+remainingTime.getSeconds()+" secondes";                         
    }
     
    </script>
    </head>
    <body onload="launch()">
    <span id="clock"></span>&nbsp avant la fin du rouleau de papier Q. 
    </body>
     
    </html>

  9. #9
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 021
    Points : 308
    Points
    308
    Par défaut
    Que dire ?

    Parfait, génial, perso moi je vote pour qu'on te la donne la légion ;-)

    MERCI


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

Discussions similaires

  1. convertion d'un string vers une date ?
    Par aefmaaradji dans le forum C++
    Réponses: 3
    Dernier message: 31/03/2009, 17h17
  2. Réponses: 7
    Dernier message: 01/12/2007, 02h23
  3. transformer champ texte d'une table vers champ date
    Par mussara dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2007, 22h17
  4. conversion string vers une date
    Par fatati dans le forum C++Builder
    Réponses: 7
    Dernier message: 14/12/2006, 10h09
  5. Date vers une chaîne de caractère
    Par luditjma dans le forum Oracle
    Réponses: 2
    Dernier message: 15/11/2006, 09h40

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