Les layers - Cours Javascript

Introduction

Info

La gestion des layers ou calques reste une chose assez complexe à faire.
Chaque navigateur a sa propre façon de traiter les claques, mais la gestion des calques devient plus homogène avec l'arrivée des nouvelles versions des navigateurs.

Accéder à l'objet claque

Info

Il exite trois façons d'appeler l'objet calque :

Pour les versions de netscape >4 et < 6 :
Exemple de code :
document.layers.NomCalque
Indentifié par l'attribut name pour la balise LAYER et id pour la balise DIV

Pour les versions d'internet explorer >4 et <5 :
Exemple de code :
document.all.NomCalque

Pour les versions d'internet explorer >5 et les versions de Netscape =>6.
Exemple de code :
document.getElementById("NomClaque")


Pour créer un claque voir la balise DIV.

Exemple de balise div :
Exemple de code :
<div id="Layer1" style="position:absolute; left:160px; top:37px; width:249px; height:114px; z-index:1;
clip: rect(0 100 100 10); background-color: #3300FF; visibility: visible;">
</div>

Rendre visible/cacher

Info

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.visibility = "show";

document.layers.NomCalque.visibility accepte trois valeurs :
- "show", pour rendre le calque visible
- "hide", pour rendre le calque invisible.
- "inherit", prend la valeur du calque parent. Si il n'a pas de calque parent le calque est visible.
document.layers.NomCalque.visibility renvoie une String().

Pour ie <4 et < 5
Exemple de code :
document.all.NomClaque.style.visibility ="visible";

document.all.NomClaque.style.visibility accepte trois valeurs :
- "visible", pour rendre le calque visible
- "hidden", pour rendre le calque invisible.
- "inherit", prend la valeur du calque parent.Si il n'a pas de calque parent le calque est visible.
document.all.NomClaque.style.visibility renvoie une String().

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById( "NomClaque" ).style.visibility ="visible";

document.getElementById( "NomClaque" ).style.visibility accepte trois valeurs :
- "visible", pour rendre le calque visible
- "hidden", pour rendre le calque invisible.
- "inherit", prend la valeur du calque parent. Si il n'a pas de calque parent le calque est visible.
document.getElementById("NomClaque").style.visibility renvoie une valeur de tyupe String().

Positionner le calque

Info

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.pageX = "12px";
Position horizontale.
Exemple de code :
document.layers.NomCalque.pageY = "12px";
Position verticale.

document.layers.NomCalque.pageX et document.layers.NomCalque.pageY accepte un nombre entier. L'unité peut être précisé par exemple "12px" ou "10%", unité par défaut le pixel.
document.layers.NomCalque.pageX et document.layers.NomCalque.pageY renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités.

Pour ie <4 et < 5
Exemple de code :
document.all.NomCalque.style.top = "10px";
Position verticale.
Exemple de code :
document.all.NomCalque.style.left = "12px";
Position horizontale.

document.all.NomClaque.style.top et document.all.NomClaque.style.left accepte un nombre entier. L'unité peut être précisé par exemple "12px" ou "10%", unité par défaut le pixel.
document.all.NomClaque.style.top et document.all.NomClaque.style.left renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités.

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById( "NomClaque" ).style.top = "12px";
Position vreticale.
Exemple de code :
document.getElementById( "NomClaque" ).style.left = "12px";
Position horizontale.

document.getElementById("NomClaque").style.top et document.getElementById("NomClaque").style.left accepte un nombre entier. L'unité peut être précisé par exemple "12px" ou "10%", unité par défaut le pixel.
document.getElementById("NomClaque").style.top et document.getElementById("NomClaque").style.left renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités.

Hauteur et largeur du calque

Info

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.clip.width = "12px";
document.layers.NomCalque.clip.height = "12px";

document.layers.NomCalque.width et document.layers.NomCalque.height acceptent un nombre entier positif . L'unité peut être précisé par exemple "12px" ou "10%", unité par défaut le pixel.
document.layers.NomCalque.width et document.layers.NomCalque.height renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités et pour transformer en Number().

Pour ie <4 et < 5
Exemple de code :
document.all.NomClaque.style.width = "12px";
document.all.NomClaque.style.height = "12px";

document.all.NomClaque.style.width et document.all.NomClaque.style.height accepte un nombre entier positif. L'unité peut être précisé par exemple "12px" ou "10%", unité par défaut le pixel.
document.all.NomClaque.style.width et document.all.NomClaque.style.height renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités et pour transformer en Number().

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomClaque").style.width ="12px";
document.getElementById("NomClaque").style.height ="12px";

document.getElementById("NomClaque").style.width et document.getElementById("NomClaque").style.height accepte un nombre entier positif. L'unité peut être précisé par exemple "12px" ou "10%", unité par défaut le pixel.
document.getElementById("NomClaque").style.width et document.getElementById("NomClaque").style.height renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités et pour transformer en Number().

Zone visible du calque

Info

Vous pouvez spécifier une zone visible dans le calque
Pour netscape < 6
Exemple de code :
document.layers.NomCalque.clip.left = "10";
document.layers.NomCalque.clip.right = "150";
document.layers.NomCalque.clip.top = "0";
document.layers.NomCalque.clip.bottom = "20";


- document.layers.NomCalque.clip.left , correspond position en x du point haut.
- document.layers.NomCalque.clip.right, correspond position en x du point bas.
- document.layers.NomCalque.clip.top, correspond position en y du point haut.
- document.layers.NomCalque.clip.bottom, correspond position en y du point bas

Ils acceptent un nombre entier. L'unité peut être précisé par exemple "12px" ou "10%" l'unité par défaut le pixel.

Ils renvoient une String() ou un Number().
Utilisez parseInt() pour enlever les unités et pour transformer en Number().

Pour ie <4 et < 5
Exemple de code :
document.all.NomClaque.style.clip = "rect( 0 150 20 10 )";

- 0, correspond position en y du point haut
- 150, correspond position en y du point bas
- 20, correspond position en x du point bas
- 10, correspond position en x du point haut

Ils acceptent un nombre entier, l'unité par défaut le pixel.

document.all.NomClaque.style.clip renvoie une valeur de type String() ( rect( 0 150 20 10) )

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById( "NomClaque" ).style.clip = "rect( 0 150 20 10 )";

- 0, correspond position en y du point haut
- 150, correspond position en y du point bas
- 20, correspond position en x du point bas
- 10, correspond position en x du point haut

Ils acceptent un nombre entier, l'unité par défaut le pixel.

document.getElementById("NomClaque").style.clip renvoie une valeur de type String() (rect( 0 150 20 10 ))

zIndex

Info

ZIndex permet de spécifier l'empilement des différents calques.

Pour netscape < 6
Exemple de code :
document.layers.zIndex = 1;

document.layers.zIndex retourne une valeur de type Number().
document.layers.zIndex peut prendre la valeur d'un nombre entier positif.

Pour ie <4 et < 5
Exemple de code :
document.all.NomClaque.style.zIndex =1;

document.all.NomClaque.style.zIndex retourne une valeur de type Number().
document.all.NomClaque.style.zIndex peut prendre la valeur d'un nombre entier positif.

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomClaque").style.zIndex = 1;

document.getElementById("NomClaque").style.zIndex retourne une valeur de type Number().
document.getElementById("NomClaque").zIndex peut prendre la valeur d'un nombre entier positif.

Nom Parent

Info

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.parentLayer
document.layers.NomCalque.parentLayer retourne un objet.
Pour ie <4 et < 5
Exemple de code :
document.all.NomCalque.parentElement ;
document.all.NomCalque.parentElement retourne un objet.
Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomCalque").parentNode;
document.getElementById("NomCalque").parentNode retourne un objet.

moveTo()

Info

moveTo(x,y) permet de déplacer le claque.
x, y sont les coordonnées sur lesquelles le coin haut gauche du calque va se positionner.

Pour netscape < 6
Exemple de code :
document.layers.NomClaque.moveTo(10 ,100);

Pour ie <4 et < 5
Exemple de code :
document.all.NomCalque.moveTo(10 ,100) ;

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomCalque").moveTo(10 ,100);

moveBy().

Info

moveBy(x ,y) permet de déplacer le calque.
x ,y sont le nombre de pixels dont va bouger le coin haut gauche du calque.

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.moveBy( 10, 12);

Pour ie <4 et < 5
Exemple de code :
document.all.NomCalquemoveBy(10, 12) ;
Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomCalque").moveBy(10, 12);

resizeTo()

Info

resizeTo(x, y) permet de redimensionner le calque.
x, y sont la longueur et hauteur.

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.resizeTo(10, 100);

Pour ie <4 et < 5
Exemple de code :
document.all.NomCalque.resizeTo(10, 100);

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomCalque").resizeTo(10, 100);

resizeBy().

Info

resizeBy(x ,y) permet de redimensionner le calque.
x, y sont le nombre de pixels qui vont être rajouté à la taille actuelle du calque.

Pour netscape < 6
Exemple de code :
document.layers.NomCalque.resizeBy(10, 100);

Pour ie <4 et < 5
Exemple de code :
document.all.NomCalque.resizeBy(10, 100);

Pour ie >5 et Netscape =>6
Exemple de code :
document.getElementById("NomCalque").resizeBy(10, 100);