Page 1 sur 1

javascript countdown

Posté : 02 oct. 2011, 17:43
par Poinball
Bonjour à tous !
J'ai réussi a me trouver un petit code sympa pour me faire un countdown d'évènement.
Maintenant j'aimerais sortir du countdown séparément : Le jour l'heure la minute et la seconde.
Présentement ils sortent tout d'un coup.

Pouvez-vous m'aider ?
voici mon code :
<script type="text/javascript">
// NOTE: the month entered must be one less than current month. ie; 0=January, 11=December

dateFuture1 = new Date(<? echo $year; ?>,<? echo $month; ?>,<? echo $day; ?>,<? echo $hour; ?>,<? echo $min; ?>,<? echo $sec; ?>);

//###################################
//nothing beyond this point
function GetCount(ddate,iid){

	dateNow = new Date();	//grab current date
	amount = ddate.getTime() - dateNow.getTime();	//calc milliseconds between dates
	delete dateNow;

	// if time is already past
	if(amount < 0){
		document.getElementById(iid).innerHTML="Now!";
	}
	// else date is still good
	else{
		days=0;hours=0;mins=0;secs=0;out="";

		amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

		days=Math.floor(amount/86400);//days
		amount=amount%86400;

		hours=Math.floor(amount/3600);//hours
		amount=amount%3600;

		mins=Math.floor(amount/60);//minutes
		amount=amount%60;

		secs=Math.floor(amount);//seconds

		if(days != 0){out += days +" "+((days==1)?"Day":"Days")+", ";}
		if(hours != 0){out += hours +" "+((hours==1)?"Hour":"Hours")+", ";}
		out += mins +" "+((mins==1)?"M":"M")+", ";
		out += secs +" "+((secs==1)?"S":"S")+", ";
		out = out.substr(0,out.length-2);
		document.getElementById(iid).innerHTML=out;

		setTimeout(function(){GetCount(ddate,iid)}, 1000);
	}
}

window.onload=function(){
	GetCount(dateFuture1, 'countbox1');
	//you can add additional countdowns here (just make sure you create dateFuture2 and countbox2 etc for each)
};
</script>
<div id="countbox1"></div>

Re: javascript countdown

Posté : 02 oct. 2011, 18:10
par Ryle
Modération : sujet déplacé vers le forum javascript.

Ton script constitue une chaine contenant l'ensemble des informations en les concaténant, mais rien ne t'empêche d'utiliser chacune des variables utilisé de façon indépendante.. days contient le nombre de jours, hours les heures, mins les minutes et secs les secondes...

Re: javascript countdown

Posté : 03 oct. 2011, 22:51
par Poinball
Je suis null en javascript :( peux tu me donner un petit coup de main ?

Re: javascript countdown

Posté : 03 oct. 2011, 23:53
par Ryle
Quand tu fais

Code : Tout sélectionner

document.getElementById(iid).innerHTML=out;
tu affiches le contenu de la variable "out" dans la balise html dont l'id est contenu dans la variable "iid".

Si tu remplace "iid" par l'id d'un autre élément, et "out" par une autre valeur, tu pourras afficher ta valeur dans la zone de ton choix :

Code : Tout sélectionner

document.getElementById(iid).innerHTML=days; // affichera uniquement le nombre de jour document.getElementById(iid).innerHTML=hours; // affichera uniquement les heures document.getElementById('un_autre_id').innerHTML=days + ' jours et ' + hours + ' heures'; // afficheras jour & heure dans la balise dont l'id est 'un_autre_id'

Re: javascript countdown

Posté : 04 oct. 2011, 06:05
par Poinball
Ohh daccord :D merci !

J'aurais une dernière question .. comment je peux faire sortire les lignes

document.getElementById(iid).innerHTML=days;
document.getElementById(iid).innerHTML=hours;
document.getElementById(iid).innerHTML=mins;
document.getElementById(iid).innerHTML=secs;

dans un div séparé ?? peuvent t'il garder le meme "iid" ?

probablement que c'est dans la fonction
window.onload=function(){
GetCount(dateFuture1, 'countbox1');
};

que je vais faire quelque chose ?
je ne comprend pas pourquoi il prend le dateFuture1 :S