Foros del Web » Programando para Internet » Javascript »

Conocer la posición absoluta de un elemento HTML

Estas en el tema de Conocer la posición absoluta de un elemento HTML en el foro de Javascript en Foros del Web. Buenas. Estoy jugando con Javascript y HTML5 y, con ello, intento hacer una especie de reproductor de audio. He hecho una especie de barra dentro ...
  #1 (permalink)  
Antiguo 18/03/2014, 10:30
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Conocer la posición absoluta de un elemento HTML

Buenas.

Estoy jugando con Javascript y HTML5 y, con ello, intento hacer una especie de reproductor de audio. He hecho una especie de barra dentro de una barra fija que su anchura progresa a medida que se reproduce la canción. Sin embargo he tenido problemas a la hora de implementar el efecto de hacer click en la barra y con ello, poner el progreso de la barra a esa posición y además adelantar el tiempo de reproducción a la proporción de barra correspondiente avanzado.

El problema se soluciona rapido con ayuda de la propiedad offsetX de un evento, que te da la posicion horizontal en pixeles respecto al corner superior izquierdo del elemento que clicas. Sin embargo, offsetX no está implementado en Firefox. De manera que necesito conseguir la posición del corner superior izquierdo de un elemento clicado respecto a la pantalla para luego poder hacer la diferencia entre event.clientX y esa posición y, así, conseguir el valor deseado para poder hacer los cálculos. El problema es que si la barra no está posicionada de forma absoluta, los atributos left y top valen auto y no puedo saber la posición absoluta de un elemento a través de getComputedStyle.

¿Alguna idea?

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils
  #2 (permalink)  
Antiguo 18/03/2014, 14:13
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Conocer la posición absoluta de un elemento HTML

ClientX y offsetLeft funciona en todos los navegadores, creo.

http://jsfiddle.net/w7ALG/1/

Y sí, no estaba muerto,estaba de parranda.
  #3 (permalink)  
Antiguo 20/03/2014, 10:05
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Respuesta: Conocer la posición absoluta de un elemento HTML

Buenas de nuevo marlanga!

Veo que offsetLeft funciona bien mientras no existan ancestros con position static, relative o absolute. En caso contrario calcular offsetX es un poco más complejo pero creo que factible.

Muchas gracias!
__________________
github.com/xgbuils | npm/xgbuils
  #4 (permalink)  
Antiguo 20/03/2014, 13:37
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Conocer la posición absoluta de un elemento HTML

Réstale también el offsetLeft del ancestro posicionado con relative, absolute o fixed y a correr.
http://jsfiddle.net/w7ALG/2/

Etiquetas: conocer, elemento, html, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:44.