Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2010, 13:34
pinchu
 
Fecha de Ingreso: septiembre-2009
Mensajes: 215
Antigüedad: 15 años, 4 meses
Puntos: 1
Guardar posición del ratón respecto a la imagen sobre la que se pulsa

He encontrado por el foro esta función hecha por troyano:

function storepoint(e, objeto)
{
var resx=0
var resy=0
while (objeto.tagName!="BODY")
{
resx+=objeto.offsetLeft
resy+=objeto.offsetTop

objeto=objeto.offsetParent
}
// alert((e.clientX)+', '+(e.clientY));
// alert((resx)+', '+(resy));
//alert('reales'+(e.clientX-resx)+' , '+(e.clientY-resy));
etiqX = e.clientX - resx - 10;
etiqY = e.clientY - resy + 30;
}

Sirve para guardar la posición del ratón al hacer click sobre un elemento. El problema que tengo es que si muevo el scroll de la página hacia abajo y pulso sobre la imagen, la posición guardada no es correcta. Supongo que esto guarda la posición absoluta.¿Cómo puedo retocar la función?

La llamada la realizo así:

//Detectamos cuándo el usuario pulsa sobre una foto para etiquetarla
$('.fotoEtiquetar').live('click', function(evt)
{
//Guardamos la posición de la etiqueta
storepoint(evt,this);
//Mostramos la diana de la etiqueta
var diana = $('#dianaEtiqueta');
diana.css("top",etiqY + "px");
diana.css("left",etiqX + "px");
diana.css("display","block");
});

Gracias