Dernière mise à jour | 30 avril 1997 | Auteur | Gilles Maire |
Serveur | http://www.imaginet.fr/ime/dhtml.htm | Adresse | Gilles.Maire@UNGI.com |
De façon formelle le langage HTML dynamique comprend les feuilles de styles que nous avons déjà étudiées au chapitre correspondant.
Par contre, sous l'impulsion de Netscape le langage HTML a vu apparaître avec la version 4 de son navigateur de nouvelles balises permettant de rendre des parties de page HTML mobiles, amovibles, en un mot dynamique.
Le positionnement dans un document peut se faire à l'aide des définitions de feuilles de style comme nous l'avons vu. Il peut en outre être mis en oeuvre par une nouvelle balise nommée : LAYER. Cette balise LAYER s'utilise dans le corps d'une page HTML, c'est à dire entre le couple de balise <BODY> </BODY>.
Cette balise permet de positionner une partie de code HTML et elle accepte
en conséquence des arguments suivants :
Entre un couple de balises HTML, il est possible de définir n'importe
quel code HTML ou Javascript ; la partie du navigateur définie
par la géométrie du LAYER sera donc utilisée pour
visualiser ces informations.
La balise <ILAYER> permet de définir une portion
de navigateur avec les mêmes caractéristiques que la balise
LAYER mis à part que le positionnement sera relatif à
la position de la balise et non plus absolu. En d'autres terme l'ajout
d'une portion de code comprise entre un couple de balises ILAYER se
fera à l'endroit ou la balise est appelée.
Le couple de balises <NOLAYER> </NOLAYER> affiche le code
affiché si le navigateur ne comprend pas la balise <LAYER>
Sélectionnez un choix
<SCRIPT>
function CacheTousLayers() {
function ChangeLayer(n) {
</SCRIPT>
<ILAYER
NAME="message0" LEFT=50
width=400 VISIBILITY=SHOW>Ce
texte est un code <B>HTML</B> très ordinaire qui correspond
au message 1
<P>Sélectionnez
un choix
|
CacheTousLayers rend
tous les layers invisibles par mise à la valeur hide de sa propriété
visibility
ChangeLayer active
la visualisation d'un layer
On affiche le premier Layer qui est déclaré
Les autres LAYER sont déclarés en
absolu pour coïncider avec le premier
Sur un changement de choix du menu le layer correspondant au numéro de mesage est affiché. On remarquera que les LAYERS sont bien la seule
façon de modifier une partie de code HTML une fois que celui-ci
est affiché.
|
C'est le logo très énervant qui bouge sur la page :)
var x=5;
<LAYER NAME="ungi" LEFT=20
TOP=20>
BougeUngi est une procédure récursive qui n'est donc possible
qu'en JavaScript 1.2
ungi est un objet désignant le layer
Le nom du layer est UNGI
Code HTML
<SCRIPT LANGUAGE="javascript1.2">
var y=5;
//Libre de droit sous réserve d'utiliser les
//noms de variable UNGI :) et si possible le
//logo UNGI qui est la seule source de
//communication du site
function
BougeUngi() {
var ungi = document.ungi;
if (ungi.left > 600)
{ x=-5 }
if (ungi.left
< 20 )
{ x=5 }
if (ungi.top
> 2500)
{y=-5 }
if (ungi.top
< 2000)
{y=5 }
ungi.offset(x,y);
setTimeout("BougeUngi()", 25);
return;
}
</SCRIPT>
<IMG SRC=gif/ungi.gif>
</LAYER>
x et y sont les pas de déplacement horizontal
et vertical