Rechercher : dans
Par :

Compte à rebours javascript

Dernière réponse le 5 mai 2008 à 22:24:08 baujerome, le 5 mai 2008 à 19:10:17 
 Signaler ce message aux modérateurs

Bonjour,
j'ai un compte à rebours (js) sur mon site qui fonctionne parfaitement. Enfin presque parfaitement. En effet, lorsque l'événement est dépassé, il continue à compter dans le négatif. Serait-il possible d'ajouter une application au script pour faire en sorte que quand l'événement est fini, le compte à rebours s'arrête à zéro. Je pense que oui mais je ne sais pas comment. J'avais pensé à utiliser un "if" mais comme je ne joue pas souvent avec le javascript, je crois que c'est pas très correct ...

Voici mon code js :

var cible = new Date("March 16, 2008 05:00:00");


var mms_jour = 24 * 60 * 60 * 1000;
var mms_heure = 60 * 60 * 1000;
var mms_minute = 60 * 1000;
var mms_seconde = 1000;

function decompte() {


var aujourdhui = new Date();


var change_j = -7;
var change_h = -7;
var change_m = -7;


var diff_mms = cible.getTime() - aujourdhui.getTime();


diff_jours = Math.floor(diff_mms / mms_jour);
diff_mms -= diff_jours * mms_jour;

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


diff_minutes = Math.floor(diff_mms / mms_minute);
diff_mms -= diff_minutes * mms_minute;


var diff_secondes = Math.floor(diff_mms / mms_seconde);


if (diff_secondes<0){
	document.getElementById("jours").innerHTML == 0;
	document.getElementById("heures").innerHTML  == 0;
	document.getElementById("minutes").innerHTML  == 0;
	document.getElementById("secondes").innerHTML == 0;
}
else {
document.getElementById("jours").innerHTML = diff_jours;
document.getElementById("heures").innerHTML  = diff_heures;
document.getElementById("minutes").innerHTML  = diff_minutes;
document.getElementById("secondes").innerHTML = diff_secondes;
}


setTimeout("decompte()",1000);
}
 


Merci d'avance pour votre aide ...
Configuration: Windows XP
Firefox 2.0.0.14

1

Tiller, le 5 mai 2008 à 20:51:13
  • +2

En fait j'ai eu la fleme de chercher a comprendre le code, j'en ai refait un ^^
Soit voit sur le mien pour adapte le tiens, soit prend le miens ^^

<script>
var cible = new Date('December 25, 2008 00:00:00');
var time = parseInt(cible.getTime() / 1000, 10);

function decompte()
{
	var aujourdhui = new Date();
	time_tmp = parseInt(aujourdhui.getTime() / 1000, 10);
	restant = time - time_tmp;
	
	jour = parseInt((restant / (60 * 60 * 24)), 10);
	heure = parseInt((restant / (60 * 60) - jour * 24), 10);
	minute = parseInt((restant / 60 - jour * 24 * 60 - heure * 60), 10);
	seconde = parseInt((restant - jour * 24 * 60 * 60 - heure * 60 * 60 - minute * 60), 10);
	
	document.getElementById('jours').innerHTML = jour;
	document.getElementById('heures').innerHTML  = heure;
	document.getElementById('minutes').innerHTML  = minute;
	document.getElementById('secondes').innerHTML = seconde;
	
	if (time_tmp < time)
		setTimeout('decompte()', 1000);
	else
	{
		// Temps fini, on fait ce qu'on veux
		document.getElementById('jours').innerHTML = 0;
		document.getElementById('heures').innerHTML  = 0;
		document.getElementById('minutes').innerHTML  = 0;
		document.getElementById('secondes').innerHTML = 0;
	}
}
setTimeout('decompte()', 500);

</script>

<div id="jours"></div>
<div id="heures"></div>
<div id="minutes"></div>
<div id="secondes"></div>

On dit que les oiseaux sont libres dans le ciel,
Mais la vraie liberté n'est pas celle d'avoir un endroit où se poser ?

Répondre à Tiller

2

 baujerome, le 5 mai 2008 à 22:24:08
  • +2

Merci merci, j'ai pu adapter tout ca et ca marche a merveille ...

Probleme résolu !

Répondre à baujerome