Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2013, 08:52
fcotorgi
 
Fecha de Ingreso: julio-2013
Mensajes: 53
Antigüedad: 10 años, 8 meses
Puntos: 1
Por qué se descentra la imagen al consultar si esta es más ancha que su contenedor

Tengo el siguiente código dentro de una función PHP. El problema es que al introducir como activo el código que he comentarizado la imagen coloca su esquina superior izquierda en el centro del div overlay. Si lo comentarizo, la imagen se muestra perfectamente centrada. ¿Alguien puede ayudarme?. Gracias.

================================================== ==

print_r(" <script type='text/javascript'>\n");
print_r(" function toggleOverlay(ruta, altura, anchura){\n");
print_r(" var overlay = document.getElementById('continente');\n");
print_r(" var specialBox = document.getElementById('contenido');\n");
print_r(" var imagen_seleccionada = document.getElementById('imagen_seleccionada');\n" );
print_r(" overlay.style.opacity = .8;\n");
print_r(" if(overlay.style.display == 'block'){\n");
print_r(" overlay.style.display = 'none';\n");
print_r(" specialBox.style.display = 'none';\n");
print_r(" }else{\n");
print_r(" if(altura > overlay.style.hight){\n");
print_r(" altura_ajustada = overlay.style.hight;\n");
print_r(" ratio = altura_ajustada / altura;\n");
print_r(" altura = altura_ajustada;\n");
print_r(" anchura = anchura * ratio;\n");
print_r(" }\n");
/* ERROR: COLOCA LA COORDENADA (0, 0) DE LA IMAGEN EN EL CENTRO
print_r(" if(anchura > overlay.style.width){\n");
print_r(" anchura_ajustada = overlay.style.width;\n");
print_r(" ratio = anchura_ajustada / anchura;\n");
print_r(" anchura = anchura_ajustada;\n");
print_r(" altura = altura * ratio;\n");
print_r(" }\n");
*/
print_r(" mitad_altura = altura/2;\n");
print_r(" mitad_anchura = anchura/2;\n");
print_r(" overlay.style.display = 'block';\n");
print_r(" specialBox.style.display = 'block';\n");
print_r(" specialBox.style.height = altura+'px';\n");
print_r(" specialBox.style.width = anchura+'px';\n");
print_r(" specialBox.style.marginTop = '-'+mitad_altura+'px';\n");
print_r(" specialBox.style.marginLeft = '-'+mitad_anchura+'px';\n");
print_r(" imagen_seleccionada.src = ruta;\n");
print_r(" imagen_seleccionada.marginTop = '0px';\n");
print_r(" imagen_seleccionada.marginLeft = '0px';\n");
print_r(" }\n");
print_r(" }\n");
print_r(" </script>\n");

================================================== =======