Probleme en Javascript

Résolu
Gorbleu -  
 Gorbleu -
Bonjour, voila je débute en javascript et j'ai un souci avec ce code, en effet rien ne s'affiche !

je ne comprend vraiment pas pourquoi et j'aurai besoin d'un coup de main merci d'avance pour vos réponses

<html>
  <head></head>
  <body>
  <script language="JavaScript">
function compteur() {
var annee = 2008;
var mois = 12;
var jour = 25;

Maintenant = new Date;
TempMaintenant = Maintenant.getTime();

Futur = new Date(annee, mois, jour);
TempFutur = Futur.getTime();

Diffsec = Math.floor((TempFutur-TempMaintenant)/1000);

DiffMin = Math.floor(DiffSec/60);
DiffHeure = Math.floor(DiffMin/60);
DiffJour = Math.floor(DiffHeure/60);

DiffMin = DiffMin % 60;
DiffHeure = DiffHeure % 24;
DiffSec = DiffSec % 60;

document.write('Time '+DiffJour+' Days '+DiffHeure+' Hours '+DiffMin+' Minutes '+DiffSec+' Seconds ');

setTimeout("compteur()", 999);
}

window.onload = compteur();
</script>
  </body>
</html>

4 réponses

knasucre22 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   30
 
Salut GorBleu,

Tout d'abord essaie de sortir ta partie script javascript du <body> et de le mettre dans le <head> ou entre le <head> et le <body>.

De deux, tu deffini le setTimeout() a chaque appel de la fonction , a mon avis , le serveur bloque a ce point.

Pour y remedier, enleve le window.onload de ton script et met au debut de ton <body> ( vu que tu aura la déclaration de ta fonction) le setTimeOut(...);
Il faut que tu enleve le setTimeOut() de ta fonction aussi. Apres ces changement la déclaration de Timer ne se fais qu'une seule fois donc ça devrais passer.

De plus, avec les modifications que je t'ai apporté , la fonction compteur ne s'appelle qu'apres le temps que tu as défini dans ton setTimeOut() , pour régler ce probleme tu appelles ta fonction avant la déclaration du Timer.

Voila , j'espere t'avoir aider.
0
Gorbleu
 
oky merci de ton aide, donc si je comprend bien mon script devrais ressembler à ça ?

<html>
  <head>
    <script language="JavaScript">
function compteur() {
var annee = 2008;
var mois = 12;
var jour = 25;

Maintenant = new Date;
TempMaintenant = Maintenant.getTime();

Futur = new Date(annee, mois, jour);
TempFutur = Futur.getTime();

Diffsec = Math.floor((TempFutur-TempMaintenant)/1000);

DiffMin = Math.floor(DiffSec/60);
DiffHeure = Math.floor(DiffMin/60);
DiffJour = Math.floor(DiffHeure/60);

DiffMin = DiffMin %60;
DiffHeure = DiffHeure %24;
DiffSec = DiffSec %60;

document.write('Time '+DiffJour+' Days '+DiffHeure+' Hours '+DiffMin+' Minutes '+DiffSec+' Seconds ');

}


</script>
</head>
  <body>
      <script>
      compteur();
      setTimeout("compteur()", 999)
      </script>
  </body>
</html>


je débute en javascript et j'ai encore du mal a saisir les subtilités de ce langage ^^
0
knasucre22 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   30
 
oui c'est le code que j'aurais fais , il y a peut etre mieu mais celui-ci devrais fonctionné.

As-tu essayé ce code , fonctionne t'il ?? si oui met la discussion en résolu STP.

Bonne soirée
0
Gorbleu
 
en fait j'ai retravailler le code et j'ai fini par avoir ceci qui fonctionne plus pas mal, je dois encore tester si il y a des bug au niveau des dates mais ca a l'air de coller

merci encore
<html>
  <head>
    <script language="JavaScript">
    
function HorlogeDynamique() {

var annee = 2008;
var mois = 12;
var jour = 25;

Maintenant = new Date;
TempMaintenant = Maintenant.getTime();

Futur = new Date(annee, mois, jour);
TempFutur = Futur.getTime();

DiffSec = Math.floor((TempFutur-TempMaintenant)/1000);

DiffMin = Math.floor(DiffSec/60);
DiffHeure = Math.floor(DiffMin/60);
DiffJour = Math.floor(DiffHeure/24);

DiffMin = DiffMin %60;
DiffHeure = DiffHeure %24;
DiffSec = DiffSec %60;

	if (DiffHeure <= 9) {
		DiffHeure = "0" + DiffHeure;
		}
	if (DiffMin <= 9) {
		DiffMin = "0" + DiffMin;
		}
	if (DiffSec <= 9) {
		DiffSec = "0" + DiffSec;
		}

Horloge ="<b>"+ DiffJour +" Days "+ DiffHeure +" Hours "+ DiffMin +" Min "+ DiffSec +" Sec</b>";
	

	if (document.getElementById) {
		document.getElementById("clock").innerHTML = Horloge;
		
		}

	if (document.layers) { 
    		document.clock.document.write("<br>  "+Horloge); 
		document.clock.document.close(); 
  		}

	if ((document.all)&&(!document.getElementById)) { 
    		document.all["clock"].innerHTML = Horloge;
 		}

	setTimeout("HorlogeDynamique()", 1000)
	}
	
window.onload = HorlogeDynamique;


</script>
</head>
<body>
<div id=clock style="position:relative;"></div>
</body>
</html>
0