next up previous contents
suivant: Table des matières monter: Interaction avec JavaScript précédent: Propriétés associées à l'objet   Table des matières

Méthodes associées à l'objet layer

L'appel d'une méthode associée à un objet se fait de la façon suivante: objet.méthode(arguments)

Exemple: document.LAY1.moveTo(10,10), document.layers["LAY1"].moveTo(10,10) ou document.layers[i].moveTo(10,10) permet d'accéder à la méthode moveTo de l'objet d'identificateur LAY1 avec pour arguments le couple (10,10).

Méthode Descriptif
moveBy(dx, dy) translate le layer de dx pixels vers la gauche et de dy pixels vers le bas
moveTo(x, y) revient à redéfinir les valeurs des attributs LEFT et TOP
moveToAbsolute(x, y) revient à redéfinir les valeurs des attributs PAGEX et PAGEY
resizeBy(dwidth, dheight) étend la largeur du layer de dwidth pixels et sa hauteur de dheight pixels
resizeTo(width, height) redéfinit les valeurs WIDTH et HEIGHT du layer
load(source, width) charge le document spécifié par source dans le layer et change la largeur du layer


L'écriture d'une fonction JavaScript dans le code source HTML se fait avant la balise <BODY> en utilisant la balise <SCRIPT>:
<SCRIPT language="JavaScript">
....
</SCRIPT>
Concernant l'utilisaton de JavaScript, référez-vous au polycopié intitulé ``Initiation à JavaScript''.

Exemple: Le code suivant augmente de 10 pixels vers la droite le layer du document lorsque la souris passe dessus.
<SCRIPT language="JavaScript">
  function plus10(idlayer)
   {
     var lelayer = document.layers[idlayer] ;
     
     lelayer.clip.width  = lelayer.clip.width + 10;
     return(false);
   }
</SCRIPT>    
<BODY>
  <LAYER ID=LAY1 BGCOLOR=lightsalmon 
    WIDTH=100 HEIGHT=100 
    OnMouseOver=return(plus10("LAY1"));>
    ........
   </LAYER> 
</BODY>
Pour terminer, voici une fonction très utile pour l'animation des objets: setTimeout(fonction, n ,args). Cette fonction exécute fonction(args) toutes les n millisecondes.

Exemple: le code suivant augmente de 10 en 10 la largeur du layer toutes les 5 secondes tant que la largeur totale n'excède pas 500 pixels. Sans cette temporisation (en utilisant simplement une boucle), l'effet d'étirement du layer ne serait pas visible.
<SCRIPT language="JavaScript">
  function plus10bis(idlayer)
   {
     var lelayer = document.layers[idlayer] ;
     
     if (lelayer.clip.width < 500)
        {
          lelayer.clip.width  = lelayer.clip.width + 10;
          setTimeout(plus10bis, 5, idlayer);
        }
     return(false);
   }
</SCRIPT>

next up previous contents
suivant: Table des matières monter: Interaction avec JavaScript précédent: Propriétés associées à l'objet   Table des matières
Pascal VERON 2000-04-07