<script language="JavaScript">
// Detection du navigateur
nc6 = (typeof(window.controllers) != ´undefined´
&& typeof(window.locationbar) != ´undefined´)? true:false;
nc4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
// Zone de deplacement du bouton
var largeur = 400;
var hauteur = 200;
// Variable qui contiendront des nombres aleatoire
s pour deplacer l´image
var alea1;
var alea2;
// Valeurs que prendront les coordonnees du calque
de l´image
var X;
var Y;
// Fonction de deplacement du calque
function bouge() {
// Creation des valeurs aleatoires
alea1 = Math.round(Math.random()*500);
alea2 = Math.round(Math.random()*200);
// Creation de raccourcis pour manipuler les coord
onnees du calque
if (nc4) {
var gauche = document.oui.left;
var haut = document.oui.top;
}
if (ie4) {
var gauche = parseInt(oui.style.left);
var haut = parseInt(oui.style.top);
}
if (nc6) {
var gauche =
parseInt(document.getElementById(´oui´).style.left
);
var haut =
parseInt(document.getElementById(´oui´).style.top)
;
}
// Si la premiere valeur obtenue est ´dans la zone
de deplacement´ en horizontal
if ( (alea1*2 + gauche) <= largeur && (alea1*2 + gauche) >= 0 ) {
// On prevoit le deplacement du calque vers ce poi
nt
X = alea1 + gauche;
}
// Si la premiere valeur est superieure a la large
ur de la zone
if ( (alea1*2 + gauche) > largeur ) {
// On prevoit le deplacement du calque en negatif
X = gauche - alea1;
}
// Previsions identiques mais en ´vertical´
if ( (alea2 + haut) <= hauteur && (alea2 + haut)
= 0 ) {
Y = alea2 + haut;
}
if ( (alea2 + haut) > hauteur ) {
Y = haut - alea2;
}
// Si l´une des conditions n´est pas satisfaite, o
n relance la fonction
if ( (gauche - alea1*2) < 0 || (haut - alea2) < 0 ) {
bouge();
}
// Sinon, on va maintenant deplacer les calques
else {
// Instructions pour netscape 4.x
if (nc4) {
// Deplacement du calque de ´cache´
document.cache.left = X - 5;
document.cache.top = Y - 5;
// Deplacement du calque de l´image
document.oui.left = X;
document.oui.top = Y;
}
// Instructions equivalentes pour Internet Explore
r
if (ie4) {
cache.style.left = X - 5;
cache.style.top = Y - 5;
oui.style.left = X;
oui.style.top = Y;
}
// Instructions equivalentes pour Netscape 6.x
if (nc6) {
document.getElementById(´cache´).style.left = X
- 5;
document.getElementById(´cache´).style.top = Y - 5;
document.getElementById(´oui´).style.left = X;
document.getElementById(´oui´).style.top = Y;
}
}
}