Necesito obtener las coordenadas X, Y (relativas a la parte superior/izquierda del documento) para un elemento DOM. No puedo encontrar ningún complemento o propiedad jQuery o método que pueda darme estos. Puedo obtener la parte superior e izquierda del elemento DOM, pero eso puede ser relativo a su contenedor/principal actual o al documento.jQuery x y coordenadas del documento del objeto DOM
Respuesta
puede utilizar
Dimensions complemento
[obsoleta ... incluido en jQuery 1.3.2 o superior]
compensado()
Obtener el desplazamiento actual del primer elemento coincidente, en píxeles, relativo al documento .posición()
Obtiene la posición superior e izquierda de un elemento con relación a su padre compensar.
sabiendo esto, entonces es fácil ... (usando mi pequeña svg project como example page)
var x = $("#wrapper2").offset().left;
var y = $("#wrapper2").offset().top;
console.log('x: ' + x + ' y: ' + y);
de salida:
x: 53 y: 177
creo que sirve lo que estás buscando.
aquí es una imagen de desplazamiento() y la posición()
usando XRay
usando Web Developer barra de herramientas
El offset la función lo hará por ti.
Aquí está el ejemplo que dan:
var p = $("p:last");
var offset = p.offset();
p.html("left: " + offset.left + ", top: " + offset.top);
Mi solución es un plugin con "soluciones": + D. ¡Pero funciona!
jQuery.fn.getPos = function(){
var o = this[0];
var left = 0, top = 0, parentNode = null, offsetParent = null;
offsetParent = o.offsetParent;
var original = o;
var el = o;
while (el.parentNode != null) {
el = el.parentNode;
if (el.offsetParent != null) {
var considerScroll = true;
if (window.opera) {
if (el == original.parentNode || el.nodeName == "TR") {
considerScroll = false;
}
}
if (considerScroll) {
if (el.scrollTop && el.scrollTop > 0) {
top -= el.scrollTop;
}
if (el.scrollLeft && el.scrollLeft > 0) {
left -= el.scrollLeft;
}
}
}
if (el == offsetParent) {
left += o.offsetLeft;
if (el.clientLeft && el.nodeName != "TABLE") {
left += el.clientLeft;
}
top += o.offsetTop;
if (el.clientTop && el.nodeName != "TABLE") {
top += el.clientTop;
}
o = el;
if (o.offsetParent == null) {
if (o.offsetLeft) {
left += o.offsetLeft;
}
if (o.offsetTop) {
top += o.offsetTop;
}
}
offsetParent = o.offsetParent;
}
}
return {
left: left,
top: top
};
};
Uso:
var p = $("#wrapper2").getPos();
alert("top:"+p.top+"; left:"+p.left);
sabes que hay marcos para que no tengamos que volver a escribir el código, ¿verdad? Los marcos de – balexandre
son geniales hasta que tenga que escribir un UserScript. O cuando quieras escribir un parche para jQuery; Todavía hay razones para saber javascript. –
- 1. jQuery objeto y elemento DOM
- 2. Cómo eliminar el elemento dom del objeto jquery
- 3. Obteniendo el árbol DOM del documento XML
- 4. Encuadernación a X Y coordenadas del elemento en WPF Canvas
- 5. Eliminar elemento del objeto jQuery
- 6. Cómo obtener coordenadas del mundo real (x, y, z) desde un objeto distinto usando un Kinect
- 7. manipulación del DOM del lado del servidor jQuery
- 8. Detectar objeto DOM frente a objeto jQuery
- 9. Transformar las coordenadas del oyente del mouse en las coordenadas del gráfico
- 10. Cómo encontrar las coordenadas del centro x del elemento y la compensación de la ventana relacionada
- 11. ActionScript: ¿Coordenadas del mouse inexactas?
- 12. seleccione raíz del documento usando jQuery
- 13. ¿Diferencia en la construcción del objeto usando "X x (42)" y "X x = 42"?
- 14. orden de ejecución del documento jQuery listo
- 15. WPF Popup Control - Buscar X, Y Coordenadas
- 16. JFreeChart obtener coordenadas del mouse
- 17. jQuerys $ .data() frente a la propiedad del objeto DOM
- 18. Ubicar elemento DOM por coordenadas absolutas
- 19. Cómo convertir String a DOM ¿Objeto de documento en Java?
- 20. Recuperación del iframe padre de un documento en jQuery
- 21. Simular clics en coordenadas x/y con javascript
- 22. Convertir Lat/Longs en X/Y Coordenadas
- 23. Obtención de un objeto HTMLElement del objeto jQuery
- 24. ¿Cómo puedo resaltar el texto del objeto Rango DOM?
- 25. ¿Hay alguna diferencia entre "Objeto [] x" y "Objeto x []"?
- 26. Obtiene la representación de cadena de un HTML completo del objeto DOM de jquery
- 27. Métodos de JQuery y propiedades DOM
- 28. Leer las coordenadas x y z del teléfono Android usando el acelerómetro
- 29. jQuery (documento). Listo para que DOM esté listo
- 30. Objeto DOM de JavaScript para el objeto jQuery
Ver: http://docs.jquery.com/Plugins/dimensions "Deprecated: A partir de jQuery 1.2.6, las dimensiones plugin ha sido fusionado en el núcleo. Puede ver la documentación completa en la categoría CSS. " plus, esto solo son posiciones relativas – DMCS
si ejecuta ese código en esa página del proyecto puede verificar que no es relativo, pero son valores absolutos. – balexandre
Parece que han resuelto los problemas en una versión más reciente de jQuery. Usar 1.3.2 parece dar las coordenadas x, y del documento como esperaba. Y probé esto en IE7, FF3 y Safari3 y todos parecen estar comportándose correctamente – DMCS