Foros del Web » Programando para Internet » Javascript »

Centrar imagen en un DIV

Estas en el tema de Centrar imagen en un DIV en el foro de Javascript en Foros del Web. Chicos en dias anteriores me colaboraron con un problema que tenia al cargar imagenes, con su colaboracion logre solucionarlo Ahora tengo otro problema pero no ...
  #1 (permalink)  
Antiguo 16/01/2013, 13:18
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Centrar imagen en un DIV

Chicos en dias anteriores me colaboraron con un problema que tenia al cargar imagenes, con su colaboracion logre solucionarlo

Ahora tengo otro problema pero no doy con la solucion, me pueden dar una mano por favor.

Con un boton activo una funcion que muestra una imagen en un DIV, eso funciona muy bien, el problema es que primero visualiza la imagen y luego la centra en el DIV, no he logrado que antes de visualizarla la centre en el DIV.

He consultado ejemplos sobre el evento IMG.ONLOAD en la red pero no veo la forma de afectar mi script para que tenga el efecto que deseo

Código HTML:
Ver original
  1. function mostrarImagen() {
  2.  
  3.    var nombre_imagen = "imagen.jpg";
  4.    img = new Image();
  5.    img.onload=function(){
  6.    var alto = img.height; //Alto;
  7.    var ancho = img.width; //Ancho;
  8.  
  9.    if (alto =< 400) {
  10.    alto = (400 - alto)/2;
  11.    document.getElementById('solicitud-imagen').style.marginTop = alto+'px';
  12.   }
  13.  
  14.   if (ancho =< 400) {
  15.    ancho = (400 - ancho)/2;
  16.    document.getElementById('solicitud-imagen').style.marginLeft = ancho+'px';
  17.   }
  18.  
  19.   }
  20.  
  21.   img.src = nombre_imagen+'?'+(+new Date);//esto lo agregamos para las versiones de explorer que ignoran el evento onload si la imagen está en caché -esto evita la carga desde la caché-
  22.  
  23.   document.getElementById('solicitud-imagen').src = nombre_imagen;  
  24. }
Gracias
  #2 (permalink)  
Antiguo 16/01/2013, 14:49
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Centrar imagen en un DIV

prueba así
Cita:
var nombre_imagen = "imagen.jpg?cache="+new Date();
var img = new Image();
img.src = nombre_imagen;

var img2 = new Image();
img2.src = img.src;
img2.onload=function(){
var alto = this.height; //Alto;
var ancho = this.width; //Ancho;
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 16/01/2013, 16:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Centrar imagen en un DIV

IsaBelM, gracias por tu tiempo

Antes de tu codigo, la imagen aparecia en el rincon superior izquierdo del DIV y a los dos o tres segundos se centraba, con tu codigo la imagen aparece en el rincon superior izquierdo del DIV y cuando termina de cargarse se centra, no aparece centrada de entrada
  #4 (permalink)  
Antiguo 17/01/2013, 06:47
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Centrar imagen en un DIV

ahora creo a ver entendido. fíjate en los cambios he hecho
Cita:
function mostrarImagen() {

var nombre_imagen = "imagen.jpg?cache="+ new Date();
img = new Image();
img.src = nombre_imagen;
img.onload=function(){
var alto = this.height; //Alto;
var ancho = this.width; //Ancho;

if (alto <= 400) {
alto = (400 - alto)/2;
document.getElementById('solicitud-imagen').style.marginTop = alto + 'px';
}

if (ancho <= 400) {
ancho = (400 - ancho)/2;
document.getElementById('solicitud-imagen').style.marginLeft = ancho + 'px';
}
document.getElementById('solicitud-imagen').src = this.src;
}

//img.src = nombre_imagen+'?'+(+new Date);//esto lo agregamos para las versiones de explorer que ignoran el evento onload si la imagen está en caché -esto evita la carga desde la caché-
}
la imagen no se mostrará hasta que esté cargada y una vez cargada se mostrará en el centro
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 17/01/2013, 12:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Centrar imagen en un DIV

IsaBelM, con los cambios que me sugeriste quedo perfecto mil gracias

Etiquetas: funcion
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 05:36.