Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/08/2011, 03:58
Avatar de atapuerkasman
atapuerkasman
 
Fecha de Ingreso: febrero-2011
Mensajes: 76
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Problema imagenes javascript

Saludos!!! ya he conseguido que funcione casi todo. Me explico: cargo el plano principal y gracias a un servlet dibujo todos los iconos que hay en ese plano(uso el servlet ya que los tengo en la base de datos y tengo que hacer los accesos). Solo tengo un pequeño problema a la hora de dibujarmelos en el mapa. Lo que hago para dibujarlos es calcular la posicion en la que se clicka con el ratón y le resto la posicion del plano. lo que intento conseguir es que las coordenadas se guarden en función de la posición del plano.

Pues funciona perfectamente con el ancho pero con el alto la funcion me devuelve valores erroneos. Os pongo el código para que le hecheis un ojo.


coordenadax= e.clientX - document.getElementById("img_plano").offsetLeft;

coordenaday=e.clientY - document.getElementById("img_plano").offsetTop;


Si pulso en el borde izquierdo del mapa coordenadax es aproximadamente =0
Pero si pulso en el borde superior, coordenaday es =260

He estado comprobando el valor de las variables y esto me viene de las siguientes llamadas:


document.getElementById("img_plano").offsetLeft; (es 300)
document.getElementById("img_plano").offsetTop; (es 40)

No entiendo porque el metodo offsetTop devuelve 40, cuando deberia devolver 200.
Luego las cuentas finales quedan:

coordenadax= clickderatonx (314) - posicionimagenx(300) 14px perfecto
coordenaday= clickderatony (355) - posicionimageny(41) 314 px fatal!!!!

si hace falta código o algo decirmelo, ya que no tengo ni idea de donde me puede venir el error.

P.D: el navegador es IE7