Infobulle ne s'affichant pas sous IE
Voila j'essaie de faire apparaître une infobulle lors d'un onmouseover. Elle s'affiche bien sous mozilla mais pas sous IE :aie:.
pour cela j'utilise ceci:
Code:
window.document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle.
sous mozilla elle est appelée dès que la souris bouge, sous IE elle n'est appelé que lors du chargement de la page. Ensuite plus rien... Le problème viendrai surement de là à priori.
je poste également mes autres fonctions si ça peut être utile:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| var visible=false; // La variable i nous dit si la bulle est visible ou non
function move(e) {
if(visible) { // Si la bulle est visible, on calcul en temps reel sa position ideale
if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
GetId("curseur").style.left=e.pageX + 5+"px";
GetId("curseur").style.top=e.pageY + 10+"px";
}
else { // Modif proposé par TeDeum, merci à lui
if(document.documentElement.clientWidth>0) {
GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px";
GetId("curseur").style.top=10+event.y+document.documentElement.scrollTop+"px";
}
else {
GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px";
GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px";
}
}
}
}
function montre(text) {
if(visible==false) {
GetId("curseur").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
GetId("curseur").innerHTML = text; // on copie notre texte dans l'élément html
visible=true;
//alert(GetId("curseur").style.left);
}
}
function cache() {
if(visible==true) {
GetId("curseur").style.visibility="hidden"; // Si la bulle est visible on la cache
visible=false;
}
} |
Merci d'avance pour vos conseils.