Javascript horloge animé

mmetalect Messages postés 5 Statut Membre -  
mmetalect Messages postés 5 Statut Membre -
Bonjour,
j'essayai de coder une horloge animé, mais j'ai rencontré un petit problème que je n'arrive pas à résoudre, l'horloge ne s'affiche pas.
j'ai le droit à deux types d'erreurs:
-printHor is not defined, alors que j'ai bien défini la fonction printHor()
-missing ) after argument list, or je ne vois pas d'oublis de ; ou de )
merci de m'aider

voici mon code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>test horloge</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   </head>
   <body>
   <script type="text/javascript">
   function updateHor()
   {
		var dt = new Date();
		var jour = Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
		var mois = Array("Jan.", "Fév.", "Mars", "Avr.", "Mai", "Juin", "Juil.", "Août", "Sept.", "Oct.", "Nov.", "Déc.");
		var Y = dt.getFullYear();
		var M = mois[dt.getMonth()];
		var D = dt.getDate();
		if(D == 1){D = "1er";}
		var J = jour[dt.getDay()];
		var H = dt.getHours();
		if(H < 10){H = "0" + H;}
		var I = dt.getMinutes();
		if(I < 10){I = "0" + I;}
		var S = dt.getSeconds();
		if(S < 10){S = "0" + S;}
		document.getElementById("horDiv").innerHTML = J+" "+D+" "+M+"<br />"+H+":"+I+":"+S;
		setTimeout("updateHor()" 1000);
   }
   
   function printHor()
   {
		if(document.getElementById)
		{
			var txtHor = "<div id=\"horDiv\">d</div>";
			document.write(txtHor);
			updateHor();
		}
   }
   
   </script>
   <style type="text/CSS">
   #horDiv
   {
		width:150px;
		border:1px solid #000;
		font-size:10pt;
		background-color:#FFF;
		color:#000;
		text-align:center;
   }
   </style>
   <script type="text/javascript">
 
   </script>
   </body>
</html>


4 réponses

  1. mimigenie Messages postés 1180 Date d'inscription   Statut Membre Dernière intervention   314
     
    Il y a deux choses qui ne vont pas dans ton code :

    Tu as une balise style dans l'élément body alors qu'il faut la mettre de l'élément head.
    Tu as une balise script à la fin qui ne contient rien du tout.

    Règle ces deux problèmes et voit ce que ca donne ;)
    1
  2. mmetalect Messages postés 5 Statut Membre
     
    J'ai le droit à la première erreur,
    voici le code que j'obtiens :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>test horloge</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <style type="text/CSS">
       #horDiv
       {
    		width:150px;
    		border:1px solid #000;
    		font-size:10pt;
    		background-color:#FFF;
    		color:#000;
    		text-align:center;
       }
       </style>
       </head>
       <body>
       <script type="text/javascript">
       function updateHor()
       {
    		var dt = new Date();
    		var jour = Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
    		var mois = Array("Jan.", "Fév.", "Mars", "Avr.", "Mai", "Juin", "Juil.", "Août", "Sept.", "Oct.", "Nov.", "Déc.");
    		var Y = dt.getFullYear();
    		var M = mois[dt.getMonth()];
    		var D = dt.getDate();
    		if(D == 1){D = "1er";}
    		var J = jour[dt.getDay()];
    		var H = dt.getHours();
    		if(H < 10){H = "0" + H;}
    		var I = dt.getMinutes();
    		if(I < 10){I = "0" + I;}
    		var S = dt.getSeconds();
    		if(S < 10){S = "0" + S;}
    		document.getElementById("horDiv").innerHTML = J+" "+D+" "+M+"<br />"+H+":"+I+":"+S;
    		setTimeout("updateHor()" 1000);
       }
       
       function printHor()
       {
    		if(document.getElementById)
    		{
    			var txtHor = "<div id=\"horDiv\">d</div>";
    			document.write(txtHor);
    			updateHor();
    		}
       }
       
       </script>
       
       <script type="text/javascript">
    	printHor();
       </script>
       </body>
    </html>
    0
    1. mimigenie Messages postés 1180 Date d'inscription   Statut Membre Dernière intervention   314
       
      Et ca marche ou pas avec ce code ? ^^
      0
  3. mmetalect Messages postés 5 Statut Membre
     
    non, je vais essayer avec un autre navigateur
    0
  4. mmetalect Messages postés 5 Statut Membre
     
    ça ne marche ni avec google chrome, ni avec internet explorer, merci quand même d'avoir essayé de m'aider
    0