Compte à rebours

renaudh Messages postés 138 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

Mnu Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   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
sky
 
salut je voudrais savoir si il y aurais un moyen d'afficher les millisecondes svp
2
13200vesavdeschoz Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   2
 
Oui mais il faut le mettre ou le code?
1
renaudh Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   3
 
Cela fonctionne très bien, même sur Mozilla, merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
Goninph Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Est ce qu vous avez une solution car j'ai également des zero
0
Niko
 
Bonjour,
Comment peut-on mettre un Compte à rebours dans un mail?
J'ai Windows Live Mail 2008.
Merci
0
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
Two piece
 
désolé j'avais pas donné mon adresse ^^.
0
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
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
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
ddsr
 
Merci pour ce script ça tourne super bien !!!
0
yepos Messages postés 832 Date d'inscription   Statut Membre Dernière intervention   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
angers
 
comment mettre les codes et ou
0