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 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és diffèrent quelque peu entre les deux navigateurs.
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...).
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 |
|