image
Inicio » Foros » JavaScript

JavaScript

Obtener el top y left de una imagen

Volver al foro | Responder | Añadir nuevo tema


De: Fran
Fecha: 25/07/2005
Mensaje:

Hola, tengo un listado de imágenes y quisiera poner sobre cada una de ellas un objeto div. El problema es que no sé cómo obtener los valores top y left de las imágenes, para poder asignar esos mismos valores al div y que salga sobre ellas. He probado algunas funciones javascript pero no funcionaban ni bien ni en todos los navegadores. ¿Alguien sabe cómo hacerlo para que funcione en todos?

Gracias de antemano, saludos!




Quizás le interese
De: Zero-Killed
Util para: 1 personas

Fecha: 26/07/2005
Mensaje:

Le tengo mala noticia. La única manera que yo conozco para obtener el 'left' y 'top' de las imagenes es mediante una ruta similar a la siguiente:

document.nombre_imagen.style.left
document.nombre_imagen.style.top

No obstante, tal modo no funciona para buscar unos valores que no han sido asignados. Es decir, para obtener tal valor, desde antes hay que asignarle un valor. Entonces, ¿para qué buscar el valor si ya se conoce? Si pruebas el código anterior sin haberle asignado algun valor, el resultado que duelve es vacio. Para simplificar, en la práctica sucede así:

- Caso 1 donde devuelve algún valor:

- En HTML -
<img src='imagen.gif' name='img' style='position:relative;left:7cm' />

- En JavaScript -
alert(document.img.style.left);
// En este caso devuelve '7cm';

- Caso 2 donde no devuelve algún valor:

- En HTML -
<img src='imagen.gif' name='img' />

- En JavaScript -
alert(document.img.style.left);
// En este caso no devuelve algún valor porque no se le asigno;





De: jbosch(vosk)
Util para: 0 personas

Fecha: 26/07/2005
Mensaje:

si que hay una solucion al problema, pero no es estandar para todos los navegadores ya que las posiciones por defecto no son las mismas dependiendo del navegador. los casos que conozco msie y nsn se soluciona separando valores dependiendo del navegador; en nsn el left y top por defecto estan a 8px, pero en msie están a 10px y 15px cada uno; luego el problema está en que deberías comprobar en cada navegador esas posiciones por defecto. aunqué ahora que pienso en ello no es necesario diferenciar entre navegadores ya que la página se cargará de forma independiente. luego un ejemplo:

<html><head></head><body><img id="c" src="img.gif"><script>
xIMG=document.getElementById('c').offsetLeft;
yIMG=document.getElementById('c').offsetTop;
ampIMG=document.getElementById('c').offsetWidth;
altIMG=document.getElementById('c').offsetHeight;
alert(xIMG+" "+yIMG+" "+ampIMG+" "+altIMG);
</script></body></html>

puedes echar un vistazo a

www. webestilo.com/foros/mensaje.phtml?foro=16&msg=33591&pag=

donde aparece un problema similar a este, de hecho el trozo de codigo que acabo de colgar lo he sacado de ahí (no pongo referencias al autor del codigo porque soy yo)

jbosch(vosk)





Volver al foro | Responder | Añadir nuevo tema

Quizás le interese:

WebEstilo.com no se hace responsable de las opiniones que los usuarios puedan verter en cualquiera de los foros existentes.

Si te solucionó el problema pulsa en G+1


Gracias!






Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.