Partage
  • Partager sur Facebook
  • Partager sur Twitter

horloge

Sujet résolu
    7 novembre 2008 à 13:43:46

    Saut a tous j'ai un probleme avec ce code :

    function rafraichir()
    {
    	var date = new Date();/* On créer une Date */
    	var texte = '';
    	texte += ''+date.getDate()+'/'+date.getMonth()+'/'+(date.getFullYears+()-988)+'<br/>';
    	texte += ''+date.getHours()+':'+date.getMinutes()+':'+date.getSeconds()+'';
    	document.getElementById('date').innerHTML = texte;
    }
    document.write('<p id="date" style="font-family:\'Old English Text MT\';"></p>');
    setInterval('rafraichir()',100);
    
    Et ceci n'affiche rien. Il y a surement un probleme quelque part mais je ne trouve pas. Pouvez vous m'aider ?

    merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      7 novembre 2008 à 13:51:45

      Une simple faute de syntaxe. Je te conseille d'installer firebug, tu pourras ainsi régler très facilement ce genre de bug tout seul grâce aux indications claires de la console d'erreur.
      Premièrement, tu avais écris cela :
      texte += ''+date.getDate()+'/'+date.getMonth()+'/'+(date.getFullYears+()-988)+'<br/>';
      

      Il y a un "+" de trop dans (date.getFullYears+()-988)
      Deuxièmement, la fonction s'appelle getFullYear et non getFullYears.

      Version corrigée :
      function rafraichir()
      {
      	var date = new Date();/* On créer une Date */
      	var texte = '';
      	texte += ''+date.getDate()+'/'+date.getMonth()+'/'+(date.getFullYear()-988)+'<br/>';
      	texte += ''+date.getHours()+':'+date.getMinutes()+':'+date.getSeconds()+'';
      	document.getElementById('date').innerHTML = texte;
      }
      document.write('<p id="date" style="font-family:\'Old English Text MT\';"></p>');
      setInterval('rafraichir()',100);
      
      • Partager sur Facebook
      • Partager sur Twitter
        7 novembre 2008 à 13:56:21

        Ah merci pour ton aide j'essaierai de faire plus attention la prochaine fois ;)
        Merci aussi pour ton astuce firebug mais ca traite que les erreurs en javascript ou aussi le php... ?
        • Partager sur Facebook
        • Partager sur Twitter
          7 novembre 2008 à 14:06:00

          Uniquement javascript, bien sûr, puisque c'est une extension firefox, installée côté client, donc ^^
          C'est une extension très pratique pour deux choses
          1. Développer en javascript, grâce à une console d'erreur évoluée et précise, indiquant la ligne où se situe le problème et le type de problème rencontré. Plus important encore, Firebug permet d'explorer le code source du site après modification en javascript (en effet si tu modifies dynamiquement le contenu d'une page puis regarde son code source avec firefox, tu auras le code source au chargement de la page et ne pourra pas voir ce qui a été modifié en javscript). Indispensable pour développer en DHTML.
          2. Travailler le design de son site : Firebug permet d'explorer le site et de voir quelles propriétés CSS sont appliquées à quel élément. Très sympa lorsque tu as du style dont tu ne sais pas d'où il vient. En plus de cela, firebug permet de modifier "en live" le style et le contenu du code source, permettant de tester directement les effets sur la page (changement d'une marge, d'une couleur, ce genre de choses).
          • Partager sur Facebook
          • Partager sur Twitter
            7 novembre 2008 à 14:08:17

            ok ah ca a l'air super, merci ! Je vais le télécharger !

            Ah et autre chose je voulais savoir comment on fait lorsque par exemple il est 14:03:02 mais en javascript ca me fait 14:3:2 il n'y pas les zéro, comment on fait pour les mettre ? Il faut utiliser les conditions ?
            • Partager sur Facebook
            • Partager sur Twitter
              7 novembre 2008 à 14:16:11

              et oui faut utiliser les conditions ;)

              sinon j'avais fait ca : http://88.191.26.15/web/news/heure/heure.html

              pour un autre utilisateur, si ca peut t'aider ... hésite pas ;)

              Bye
              • Partager sur Facebook
              • Partager sur Twitter
                7 novembre 2008 à 14:27:21

                Le plus simple est d'utiliser un opérateur ternaire :
                var hours = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours());
                
                • Partager sur Facebook
                • Partager sur Twitter
                  7 novembre 2008 à 14:40:01

                  Ouais mais je trouve ca assez compliquer (surtout que je ne possède pas un niveau élevé en javascript) voila ce que j'ai fait comme si ca peut aider les autres :
                  function rafraichir()
                  {
                  	var date = new Date();/* On créer une Date */
                  	var texte = '';
                  	var jours = date.getDate();
                  	if(jours < 10)
                  	{
                  		texte += '0'+jours+'/';
                  	}
                  	else
                  	{
                  		texte += ''+jours+'/';
                  	}
                  	var mois = date.getMonth()+1;
                  	if(mois < 10)
                  	{
                  		texte += '0'+mois+'/';
                  	}
                  	else
                  	{
                  		texte += ''+mois+'/';
                  	}
                  	texte += ''+date.getFullYear()-988+'<br />'; /* J'ai mis
                  "date.getFullYear()-988" 
                  pour qu'on soit en l'an 
                  1020 pour bien etre dans 
                  le contexte historique du 
                  moyen age */
                  	var heure = date.getHours();
                  	if(heure < 9)
                  	{
                  		texte += '0'+heure+':';
                  	}
                  	else
                  	{
                  		texte += ''+heure+':';
                  	}
                  	var min = date.getMinutes();
                  	if(min < 9)
                  	{
                  		texte += '0'+min+':';
                  	}
                  	else
                  	{
                  		texte += ''+min+':';
                  	}
                  	var sec = date.getSeconds();
                  	if(sec < 9)
                  	{
                  		texte += '0'+sec+'';
                  	}
                  	else
                  	{
                  		texte += ''+sec+'';
                  	}
                  	document.getElementById('date').innerHTML = texte;
                  }
                  document.write('<p id="date"></p>');
                  setInterval('rafraichir()',1000);
                  


                  Voila Résolu ! :)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  horloge

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown