Foros del Web » Programando para Internet » Javascript »

Convertir posición absoluta a relativa

Estas en el tema de Convertir posición absoluta a relativa en el foro de Javascript en Foros del Web. Hola!, Quisiera saber como puedo hacerle para convertir una posición absoluta a una relativa, es decir, si tengo un div con position:absolute y obtengo un ...
  #1 (permalink)  
Antiguo 20/07/2011, 13:05
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 13 años, 4 meses
Puntos: 32
Convertir posición absoluta a relativa

Hola!,

Quisiera saber como puedo hacerle para convertir una posición absoluta a una relativa, es decir, si tengo un div con position:absolute y obtengo un offsetLeft (x) colocandoselo en su style.left, entonces el div se va más a la derecha ya que tomará en cuenta su style.left el cuál tiene un valor del offsetLeft.

Básicamente es transformar el offsetLeft en un style.left relativo a el elemento que se encuentre a su izquierda o su padre.

Lo necesito para hacer un drag and drop con posición relativa que al arrastrarlo se convierte a absoluta y al soltarlo a relativa.

Gracias y saludos.
  #2 (permalink)  
Antiguo 20/07/2011, 16:43
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 13 años, 4 meses
Puntos: 32
Respuesta: Convertir posición absoluta a relativa

Hola de nuevo, ya logré encontrar la solución.

Y fué la siguiente para dejar resuelto éste tema [: )] :

1. Guardé el offsetLeft/Top del elemento en dos variables.

2. Asigno posición relativa al elemento.

3. Coloco 0 en el X y Y del elemento.

4. Condición: Si el offsetLeft/Top interno del padre (sumando x/y+marginLeft/top+paddingLeft/top+borderLeftWidth/TopWidth) es igual offsetLeft/Top + marginLeft/Top del elemento, entonces el X/Y será relativo al padre y no al nodo hermano previo(previousSibling) de lo contrario será relativo al nodo hermano previo.

5. Se le asigna un nuevo X y Y al elemento con una pequeña operación dependiendo a quien es relativo el elemento.

Gracias y saludos.

Etiquetas: relativa
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 01:00.