Bonjour à tous,

Je débute en Javascript et j'ai souhaité créer un compte à rebours pour une vente privée. Voici le principe de mon compte à rebours:

On définit la date d'ouverture de la vente. Lorsque le compteur arrive à la fin, un autre compteur se lance, celui du temps qu'il reste pour profiter de la vente. Jusque là, ça marche, le souci, c'est que lorsque le second compteur se termine, j'aimerais qu'il reste à 0, et que le message de statut "Vente terminée" apparaisse à côté.

Sauf que dans le cas actuel, le compteur passe dans le négatif. Je débute, et je ne trouve pas le souci !

Merci pour votre aide, voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
			<script>
				var cible = new Date('June 18, 2011 07:00:00');
				var time = parseInt(cible.getTime() / 1000, 10);
				var text = "Ouverture de la vente dans: ";
 
				var img_vp = '<img src="ressources/vp/vp_majirel.jpg"/><br/>';
 
				//Temps avant ouverture de la vente
				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;
					document.getElementById('text').innerHTML = text;
					document.getElementById('img_vp').innerHTML = img_vp;		
 
					if (time_tmp < time)
						setTimeout('decompte()', 1000);
					else
					{
						// Temps restant avant fermeture de la vente
 
						//Activation du bandeau de la vente privée
						img_vp = '<a href="#"><img src="ressources/vp/vp_majirel.jpg"/></a><br/>';
						document.getElementById('img_vp').innerHTML = img_vp;	
						text = "Il vous reste: "
						document.getElementById('text').innerHTML = text;
 
						cible = new Date('June 20, 2011 00:00:00');
						time = parseInt(cible.getTime() / 1000, 10);
 
						function decompte()
						{
							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);
 
							//ne prend pas à compte 
							if (time_tmp < time)
								setTimeout('decompte()', 1000);
							else
							{
 
								// Temps fini, on fait ce qu'on veut
								document.getElementById('jours').innerHTML = 0;
								document.getElementById('heures').innerHTML  = 0;
								document.getElementById('minutes').innerHTML  = 0;
								document.getElementById('secondes').innerHTML = 0;
 
								var statut = '- Vente privée terminée';
 
								document.getElementById('statut').innerHTML = statut;
							}
						}
						setTimeout('decompte()', 500);
 
					}
				}
				setTimeout('decompte()', 500);
 
				</script>
				<span id="img_vp"></span>
				<span style="color:#e11076;font-weight:bold;font-family:Calibri, Arial, sans-serif;">
				<span id="text"></span>
				<span id="jours"></span> jour(s)
				<span id="heures"></span> h
				<span id="minutes"></span> min
				<span id="secondes"></span> s
 
				<span id="statut"></span>
				</span>