Bonjour,
Je souhaiterai récupérer la position d'une div sous ie.
Sous firefox, j'utilise offsetLeft et offsetTop mais ca me retourne systématiquement 0 sous ie ??
Merci pour votre aide,
Bruno
Version imprimable
Bonjour,
Je souhaiterai récupérer la position d'une div sous ie.
Sous firefox, j'utilise offsetLeft et offsetTop mais ca me retourne systématiquement 0 sous ie ??
Merci pour votre aide,
Bruno
quelle version de IE utilise-tu ?
code testé et marche sur IE 7 et FFX 2
Code:
1
2
3
4
5
6
7 <div id="monDiv" style="position: absolute; top: 200px; left: 200px; height: 200px; width: 200px; background-color: green;"> du texte </div> <script> var e = document.getElementById("monDiv"); alert("left="+e.offsetLeft+", top="+e.offsetTop); </script>
Bonjour et merci,
J'utilise IE 7 et ffx 2.
De mon côté, mes div sont en position:relative.
Sous ffx, il me retourne les valeurs d'offset mais sous ie il retourne -1.
Et retourne 0 si je passe en position:absolute, je ne comprends pas pourquoi ??
Bruno
Re-bonjour,
J'ai testé votre code, de mon côté sous IE 7 il retourne également 0.
Il semble qu'il donne les coordonnées du noeud parent, avez-vous une solution ?
Merci.
Finalement j'ai pallié au problème en positionnant l'infobulle en fonction de la position de la souris lorsqu'elle passe par dessus la vignette :
J'appelle la fonction sur mes vignettes en OnMouseMove.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <script> function mousePosition(e,bulle){ var posx = 0; var posy = 0; if (!e) var e = window.event; if (e.pageX || e.pageY){ posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY){ posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } window.document.getElementById(bulle).style.left = posx+"px"; window.document.getElementById(bulle).style.top = (posy-100)+"px"; } </script>
Merci quand même.