2011-07-11 4 views

Respuesta

30

offsetX y offsetY son en relación al contenedor principal, mientras que pageX y pageY son en relación con el documento. No confunda esto con .offset() y .position(), en el que .offset() es relativo al documento y .position() es relativo al contenedor principal .offset().

Algo como este ejemplo debería funcionar (JQuery):

$('a').click(function(){ 
    var offset = $(this).offset(); 
    $('#popup_div').css('top',offset.top + 'px').css('left',offset.left + 'px').show(); 
}); 

http://api.jquery.com/offset/

http://api.jquery.com/position/

+1

los documentos aquí: (http://api.jquery.com/category/events/event-object/#post-850) parecen indicar que pageX/Y son en relación con el documento , no la ventana, que importa si la página se ha desplazado. – aaronstacy

+1

El uso de jQuery es totalmente superfluo para poder responder a esta pregunta. Créalo o no * puede * determinar las coordenadas x, y * sin * que requieren jQuery. – Neil

+2

4 años después ...;) – AlienWebguy

3

2 extractos de sitio web de documentación Jquery

El .position() método permite nosotros para recuperar la posición actual de un elemento relativo a los padres de compensación

http://api.jquery.com/position/


El método .offset() nos permite recuperar la posición actual de un elemento con respecto al documento.

http://api.jquery.com/offset/

Cuestiones relacionadas