Javascript

Ce cours ne nécessite aucune connaissance informatique préalable, excepté celle du HTML. Le Javascript est un langage de programmation appliqué au objet d'un document HTML.

Références et exemples.


Balise <SCRIPT> Haut de page

Cette balise déclare un bloc de code dans un document HTML.

Syntaxe : <SCRIPT
[EVENT=événement]
[FOR=élément]
[ID=nom]
[LANGUAGE= <Javascript|Javascript1.1|Javascript1.2|Jscript|Vbscript|VBS>]
[SCR=url du fichier script]
></SCRIPT>

L'ensemble des propriétés de cette balise sont facultatives.

EVENT représente l'événement géré pas ce script ; il va de paire avec FOR.
FOR identifi l'objet dons l'événement sera détourné par ce script.
ID donne un identifiant à la balise.
LANGUAGE informe l'interpréteur du langage utilisé pour le script.
SCR désigne l'adresse URL d'un fichier contenant le code. Dans ce cas, tous code entre la balise ouvrante et fermant est ignoré.

Voici un exemple de détournement d'événement par script d'une zone de saisie.

 

<HTML><body>

<form>
  <input name=a type=text>
  <input name=b type=text>
</form>

<script for=a event=onfocus><!--

this.value="GOWAP";

//--></script></body></HTML>


Temporisation : setTimeout() et clearTimeout(); Haut de page

La méthode "setTimeout()" de l'objet "window" permet généré une temporisation qui exécutera l'interprétation d'une chaîne après l'écoulement d'une durée spécifié, et "clearTimeout()" permet d'annuler une temporisation. Cette méthode s'execute qu'une fois ; elle n'est pas cyclique.

Syntaxe: [var id_tempo =] setTimerout(chaîine, durée);

clearTimeout(id_tempo);

id_tempo identifi la temporisation créer par setTimeout, et est utilisé par clearTimeout pour la détruire
chaîne est une chaîne contenant le code à interpréter.
durée représente la durée en milliseconde avant l'interprétation de la chaîne (1 seconde = 1000 millisecondes).

Voici un exemple qui illustre l'utilisation de ces  méthodes en affichant deux bandeaux publicitaire de vitesses différentes.

Si vous cliquez sur un bouton "on" sans avoir préalablement cliqué sur "off", vous ajouter un nouveau temporisateur sur l'identificateur. Ainsi, comme la  temporisation est auto-régénère (elle se relance),  l'affichage sera plus rapide.

L'identificateur réagie comme s'il contenait une forme de tableau de temporisateur ; ce tableau est FIFO : c'est-à-dire que le premier temporisateur sera le premier détruit pas la méthode clearTimeout().

<HTML><body>

<form><input type=text name=ZoneText size=40>
<input type=button value=off
  onclick="clearTimeout(cpt[0]);">
<input type=button value=on
  onclick="cpt[0]=setTimeout('AffTxt(0)',50)">
</form>
<form><input type=text name=ZoneText size=40>
<input type=button value=off
  onclick="clearTimeout(cpt[1]);">
<input type=button value=on
  onclick="cpt[1]=setTimeout('AffTxt(1)',50)">
</form>

<script language="JavaScript"><!--

TabText=new Array
( "Bienvenue sur le site du GOWAP.",
  "Vous y trouverez des cours GRATUIT",
  "Et des réponses a vos questions",
  "Assembleur, Basic, C, Pascal, Script ...",
  "Documents sur les cours de DEUG MIAS :",
  "Géo-math, Physique Quantique, ../",
  "/.. Analyse, Algèbre");

var cpt = new Array();  // identif. temporisateur
var Nblignes = TabText.length;
var pos = new Array(0,0); //caractère en cours
var ligne = new Array(0,0); //ligne en cours
var taille = new Array(); //taille ligne actuel
taille[0]=taille[1]=TabText[0].length;

function AffTxt(num)
{
  document.forms[num].ZoneText.value=
    TabText[ligne[num]].substring(0,pos[num]);
  if(pos[num]++==taille[num])
  {
   pos[num]=0;
   cpt[num]=setTimeout("AffTxt("+num+")",1000);
   if(++ligne[num]==Nblignes) ligne[num]=0;
   taille[num]=TabText[ligne[num]].length;
  }
  else cpt[num]=setTimeout("AffTxt("
                  +num+")",50*(num+1));
};

for (t=0;t<=1;t++)
cpt[t]=setTimeout("AffTxt("+t+")",50*(t+1))

//--></script></body></HTML>

 


FOR : boucle voir langage : for Haut de page

L'instruction "for" permet de définir une boucle.

Syntaxe: for (liste init; [condition]; liste action) code;

FOR ... IN : accès à l'objet voir langage : for in Haut de page

Avec l'instruction "for", nous pouvons aussi accéder au propriété d'un objet.

Syntaxe: for (var in objet) code;

## : accès à l'objet Haut de page

Av

Syntaxe: ;

id

Voici un exemple qui illustre
<HTML><body>

<script language="JavaScript"><!--

//--></script></body></HTML>

 

 

alert(), confirm()prompt()

windows.defaultStatus, Status

<input type=radio ..> comment récupérer l'élément radio sélectionner ? une méthode consiste a utilisé un variable externe commun et affecté à chaque onclick d'un radio.


Dernière mise à jour : dimanche 06 janvier 2008