[JAVACRIPT]onmousemove sur un objet seulement

Résolu/Fermé
Sempo - 8 nov. 2005 à 15:51
 sempo - 8 nov. 2005 à 17:39
Bonjour,
Je désire afficher les coordonnées d'un point sur une carte. Ce point sera calculé quand le curseur bouge sur la carte.

Voici le code de la page :
<html>
<head>
<script language="JavaScript"> 
var mapx= 600;
var mapy = 400;
var boxx = 519382.502229;
var boxy = 183099.344763;
var pixelx = 105.986659237;
var pixely = 105.833276185;
function position(e) { 
     x = event.x+document.getElementById("carte").scrollLeft; 
     y = event.y+document.getElementById("carte").scrollTop; 
     texteCoords = "Coordonnées : " + Math.round((x * pixelx) + boxx)  + "/" + Math.round(((mapy - y) * pixely) + boxy);
     document.getElementById("coords").innerHTML = texteCoords; 
} 

document.onmousemove=position;

</script> 

</head>

<body>
  <img id="carte" src="carte_neuchatel.png" />
  <div id="coords"></div>
</body>

</html>

Ca marche sauf que les coordonnées s'affichent quand le curseur parcourt toute la page (Je m'y attendais).
L'idéal serait de faire
document.getElementById("carte").onmousemove=position;

mais ca ne marche pas.
Ce que je veux c'est que les coordonnées ne se calculent seulement quand le curseur bouge sur la carte et non sur le reste de la page.

Merci d'avance pour toute réponse

Sempo

2 réponses

StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
8 nov. 2005 à 17:07
<html>
<head>
<script language="JavaScript"> var mapx= 600;
var mapy = 400;
var boxx = 519382.502229;
var boxy = 183099.344763;
var pixelx = 105.986659237;
var pixely = 105.833276185;
function position(e) { 
     x = event.x+document.getElementById("carte").scrollLeft; 
     y = event.y+document.getElementById("carte").scrollTop; 
     texteCoords = "Coordonnées : " + Math.round((x * pixelx) + boxx)  + "/" + Math.round(((mapy - y) * pixely) + boxy);
     document.getElementById("coords").innerHTML = texteCoords; 
} 

</script> </head>

<body>
  <img id="carte" src="carte_neuchatel.png" onmousemove="position(event);"/>
  <div id="coords"></div>
</body>

</html>


Attention, si tu ne passes pas event en paramètre à ta fonction, je crois que ton code ne marchera pas avec FF ;-)

1
je confirme. merci beaucoup

Sempo
0