Page précédente Topo HTML Page suivante


Une fonction calendrier

Voici un exemple utilisant une méthode de calendrier et d'horloge. On a affiché, ci-dessus, l'heure locale et la date.
Cette méthode obtient la date et l'heure de la machine, si cette dernière est erronée (le 17/5/1993 par exemple), on obtiendra un résultat tout aussi faux. La date et l'heure ne sont pas obtenues à travers Internet.
  • Tout d'abord on crée une variable date. Ceci s'effectue grâce à l'instruction jour=new Date(). Si l'on ne spécifie ni heure ni date, l'initialisation se fait avec les valeurs locales qui seront placées dans la variable jour.
  • La variable jour n'est pas déclarée. Ceci est une différence avec Java et la plupart des autres langages de programmation où l'on doit spécifier les types utilisés au préalable.
  • On crée un objet temps contenant l'heure et la date locale. Maintenant on peut facilement afficher son contenu dans un document. Il faut écrire jour devant chaque méthode get... . Sinon le navigateur ne saura pas quel objet référencer.
  • La méthode getMonth() renvoie un nombre entre 0 et 11 (de 0 pour janvier jusqu'à 11 pour décembre). Il suffit donc d'ajouter 1 pour obtenir le bon mois.
    Ceci marche parce que les dates sont représentées en millisecondes depuis le 1/1/1970 0:0h. C'est une méthode courante pour représenter les dates sur les ordinateurs.

    En voici le script:

    <SCRIPT LANGUAGE="JavaScript">
    
    <!-- 
      jour = new Date()
      document.write("<FONT Color=blue>Il est actuellement: ",jour.getHours(),":",jour.getMinutes())
      document.write("<BR> Nous sommes le : ",jour.getDate(),"/",jour.getMonth()+1,"/",jour.getYear());
    
    //-->
    
    </SCRIPT>
    


    Comment écrire du texte dans la barre d'état

    La barre d'état est la barre située au bas de votre navigateur dans laquelle apparaissent les URLs.
    Ce script illustre la façon d'écrire un texte simple dans la barre d'état:

    En voici le script:

    <html>
    <head>
    <script language="JavaScript">
    <!--
    function baretat(texte) {
    	window.status = texte;
    }
    // -->
    </script>
    </head>
    <body>
    <form>
    <input type="button" name="voir" value="Ecris!" onclick="baretat('hello comment allez-vous ?');">
    <input type="button" name="cache" value="Efface!" onclick="baretat('');">
    </form>
    </body>
    </html>
    

    Commentaires et explications :

    On a créé deux boutons associés tous les deux à la fonction baretat(texte). Le texte entre parenthèses indique que la fonction prend comme variable la chaîne transmise en tant que paramètre lors de son appel. (on lui a donné le nom de texte mais il peut être totalement différent.) Dans la balise <form> où sont créés les boutons, on place un appel à la fonction baretat(texte). A la place de texte, on introduit le message que l'on désire voir s'afficher.

    Pour résumer:
    Lors de son appel, la fonction définit la variable texte qui prend pour valeur la chaîne transmise en tant que paramètre et affiche celle-ci dans la barre d'état. Ainsi lorsque le bouton 'Ecris!' est pressé, la fonction baretat(texte) est appelée et la variable texte contient la chaîne 'hello comment allez-vous ?'. Vous pouvez utiliser la variable texte comme vous voulez. Cette méthode de transmission de variables rend les fonctions bien plus flexibles.

    Le second bouton utilise la même fonction. Sans ce passage de variable, cela aurait nécessité deux fonctions différentes.
    Le fonctionnement de baretat(texte) est très simple. On y inscrit simplement le contenu de texte dans la variable window.status. Cela est fait grâce à window.status = texte;.
    Ecrire une chaîne vide('') dans la barre d'état équivaut à effacer ce qui s'y trouve.
    On utilise des apostrophes ' puisque les guillemets ont déjà été utilisés pour définir onClick. Le navigateur a besoin de savoir quelles chaînes vont ensemble d'où l'alternance rendue obligatoire.