![]() |
![]() |
![]() |
![]() |
![]() |
Le principe |
L'animation des éléments présents sur une page Web se fait en modifiant leur propriété (position, hauteur, largeur, visibilité, z-index, ...) ou en utilisant leur méthodes (fonctions associées à un élément). Cela ne peut se faire qu'à l'aide d'un code Javascript, permettant de modifier les propriétés des éléments suite à des événements utilisateurs (clic sur la souris, déplacement de la souris, ...), et cela grâce à une structuration des éléments dans la page définie par le DOM (Document Object Model).
Le Document Object Model (DOM) |
Le Document Object Model est un principe consistant à représenter le navigateur et le document qui y est affiché comme une hiérarchie d'objets (voir éventuellement la section programmation orientée objet pour comprendre le concept objet), possèdant des propriétés intrinsèques et auxquels ont peut accéder en décrivant la hiérarchie qui mène à chaque objet.
Toutefois, le Document Object Model ayant été implémenté de manière "sauvage" dans les deux navigateurs concurrents (ie Netscape et Internet Explorer), la hiérarchie et les propriété diffère quelque peu entre les deux browsers.
Les propriétés modifiables |
Selon que l'on utilise Internet Explorer ou Netscape, la façon d'accèder aux propriétés des éléments est différente, ainsi que les propriétés elles-mêmes (il s'agira donc dans un premier temps de déterminer par l'intermédiaire du script le type de navigateur utilisé, puis adapter la notation en fonction...).
document.layers['nom'].document.layers['nom2'].attribut ou document.layers.nom.document.layers.nom2.attribut
document.all.nom.attribut
Voici un petit aperçu des actions réalisables en DHTML et la façon de les effectuer sur les deux navigateurs:
Action | Netscape Navigator | Internet Explorer |
---|---|---|
Modifier l'image de fond | document.layers.nom.background | document.all.nom.style.backgroundImage |
Modifier la couleur du fond | document.layers.nom.bgColor | document.all.nom.style.backgroundColor |
Modifier le clipping | document.layers.nom.clip | document.all.nom.style.clip |
Modifier le contenu | document.layers.nom.open(); document.layers.nom.writeln(); |
document.all.nom.innerHTML |
Modifier la distance à gauche | document.layers.nom.left | document.all.nom.style.left |
Accéder au nom | objet.name | objet.id objet.name |
Modifier la visibilité | document.layers.nom.visibility | document.all.nom.style.visibility |
Modifier la distance au haut | document.layers.nom.top | document.all.nom.style.top |
Modifier le z-index | document.layers.nom.zIndex | document.all.nom.style.zIndex |