Compte à rebours

renaudh Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   -  
 angers -
Bonjour,

J'utilise un script pour afficher un compte à rebours dans une page dans voici le code
<html>
<head>
<script language="JavaScript">
// la date à partir de laquelle on compte
var cible = new Date("March 06, 2005 03:00:00");

// nombre de millisecondes par jour, heure, minute et seconde
var mms_jour = 24 * 60 * 60 * 1000;
var mms_heure = 60 * 60 * 1000;
var mms_minute = 60 * 1000;
var mms_seconde = 1000;

function decompte() {

// la date courante
var aujourdhui = new Date();

// on crée les variables qui accueilleront les différences entre aujourd'hui et la date à atteindre
var change_j = -1;
var change_h = -1;
var change_m = -1;

// le total de millisecondes de différences
var diff_mms = cible.getTime() - aujourdhui.getTime();

// pareil pour les jours
diff_jours = Math.floor(diff_mms / mms_jour);
diff_mms -= diff_jours * mms_jour;

// pour les heures
diff_heures = Math.floor(diff_mms / mms_heure);
diff_mms -= diff_heures * mms_heure;

// les... minutes, bravo ;-)
diff_minutes = Math.floor(diff_mms / mms_minute);
diff_mms -= diff_minutes * mms_minute;

// les secondes, ce qui reste en fait.
var diff_secondes = Math.floor(diff_mms / mms_seconde);


// on affecte nos résultats aux champs du formulaire
document.formulaire.jours.value = diff_jours;
document.formulaire.heures.value = diff_heures;
document.formulaire.minutes.value = diff_minutes;
document.formulaire.secondes.value = diff_secondes;

// on relance la fonction pour actualiser à la seconde
setTimeout("decompte()",1000);
}
</script> 

</head>
<body  onLoad="decompte()">
<form name="formulaire"><font face="arial" size="4"><b>
Il reste encore : 
<input type="text" name="jours" size="3"> jours 
<input type="text" name="heures" size="2"> heures 
<input type="text" name="minutes" size="2"> minutes 
<input type="text" name="secondes" size="2"> secondes avant le GP d'Australie !
</form>
</body>
</html>


Celui-ci fonctionne très bien mais j'aimerais que l'affichage ne se fasse pas sous forme de formulaire afin que les valeurs (jours, h, min, sec) s'affichent comme le reste du texte, est-ce possible?

15 réponses

  1. Mnu Messages postés 97 Statut Membre 16
     
    Salut,

    Fais les modifications suivantes: dans ton code HTML:

    Il reste:
    <span id="jours">0</span> jours 
    <span id="heures">0</span> heures
    <span id="minutes">0</span> minutes
    <span id="secondes">0</span> secondes
    avant le GP d'Australie !
    


    Et dans ton javascript:
    // on affecte nos résultats aux champs du formulaire
    document.getElementById("jours").innerHTML = diff_jours;
    document.getElementById("heures").innerHTML  = diff_heures;
    document.getElementById("minutes").innerHTML  = diff_minutes;
    document.getElementById("secondes").innerHTML = diff_secondes;
    


    Normalement, ça devrait marcher (au moins pour IE6).
    6
  2. sky
     
    salut je voudrais savoir si il y aurais un moyen d'afficher les millisecondes svp
    2
  3. 13200vesavdeschoz Messages postés 54 Statut Membre 2
     
    Oui mais il faut le mettre ou le code?
    1
  4. renaudh Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   3
     
    Cela fonctionne très bien, même sur Mozilla, merci beaucoup
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pablo
     
    Bonjour,

    le problème pour moi est qu'avec ce script, l'heure qui est prise est celle de l'ordinateur de l'internaute, et pas celle du serveur. Elle n'est donc pas fixe et dépend de si les horloges sont biens réglées pour les visiteurs et aussi des zones de décalage horaire.
    Savez-vous comment récupérer l'heure du serveur avec ce script ?

    Pablo
    0
  7. alex3891
     
    Bonjour ! J'ai essayé d'utiliser votre script mais j'ai un petit problème... Je ne suis pas très doué mais il ne m'affiche que des 0 et pas de décompte, je n'ai que des 0 au lieu des chiffres qu'il devrait rester pour les jours, heures, minutes, et secondes... Pourriez-vous m'indiquer quoi faire svp ?
    0
    1. Goninph Messages postés 6 Statut Membre
       
      Est ce qu vous avez une solution car j'ai également des zero
      0
  8. Niko
     
    Bonjour,
    Comment peut-on mettre un Compte à rebours dans un mail?
    J'ai Windows Live Mail 2008.
    Merci
    0
  9. Two piece
     
    Je voudrais savoir si c't possible d'en metre un sur un blog. Mais 120 jours 15 heures et 16 minutes.
    Merci d'avance .

    Je ne pourais pas répondre avant un moi alors svp rep moi sur mon Email
    0
  10. Two piece
     
    désolé j'avais pas donné mon adresse ^^.
    0
  11. Goninph
     
    Je n'ai ue des 0 car sur le blog le code est en continu et le code décrit ci-dessus et par ligne. Quelle est le séparateur à ajouter pour enlever les "enter"
    0
  12. Rayben
     
    Le code est bon, le compte à rebours fonctionne sous firefox 3, mais sous IE7 effectivement on a que des 0 (0 jrs 0 h 0 min 0 sec). Quelle serait la solution ?
    0
  13. Rayben
     
    Il semble que ce soit dû au fait d'avoir déjà un compte à rebours sur votre site, comme l'heure par exemple. J'ai déjà une application liveclock.js sur mon propre site qui me donne la date et l'heure et j'ai remarqué ceci :

    Sur firefox3, le compte à rebours fonctionne mais la date disparait
    Sur IE7, le compte à rebours ne fonctionne pas, mais la da te s'affiche
    0
  14. ddsr
     
    Merci pour ce script ça tourne super bien !!!
    0
  15. yepos Messages postés 940 Statut Membre 101
     
    Moi j'ai que des 0, j'ai une site Nuked clan... J'ai créé un block HTML et modifié la date et cela ne me met que des 0.

    Qqn a-t-il une idée svp ?

    merci
    0