Posez votre question Signaler

Compte à rebours javascript [Résolu]

baujerome 11Messages postés 28 juin 2005Date d'inscription - Dernière réponse le 23 nov. 2011 à 10:13
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 ...
Lire la suite 

Compte à rebours javascript »

7 réponses
Réponse
+13
moins plus
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>
j-yan - 29 avril 2010 à 23:35
Merci, ça marche impec
Maestro - 25 déc. 2010 à 22:51
Merci, ça marche trop bien...
Mel - 23 nov. 2011 à 10:13
Super merci!
Ajouter un commentaire
Réponse
+4
moins plus
Merci merci, j'ai pu adapter tout ca et ca marche a merveille ...

Probleme résolu !
Ajouter un commentaire
Réponse
+0
moins plus
Merci, très bien fait
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour a tous,

J'ai pris le script de tiller, mais j'aimerai y ajouter une redirection, comment pourrais-je faire cela ?


Merci d'avance.
Ajouter un commentaire
Ce document intitulé « Compte à rebours javascript » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?