Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2013, 06:21
josemar2000
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 11 años, 6 meses
Puntos: 0
Pinchar en una miniatura y que la imagen aparezca ampliada encima

Hola a todos
Estoy haciendo una galería de imágenes y quiero que al pinchar en una miniatura, aparezca la imagen ampliada, verticalmente en el lugar donde está la miniatura y horizontalmente en el centro de la pagina.
Con el código que he puesto aparece en el lugar fijo que tengo establecido y no es eso lo que quiero. Pues os paso el codigo a ver si me podeis echar una mano

<script type="text/javascript">

var x, y

var docAncho = 0
var docAlto = 0

//repeticion calculo posicion capa
var idMovimiento = 0

function muestra_foto( imagenes, ancho, alto ) {
var miFoto

//compruebo si se puede ejecutar el script en el navegador del usuario
if (!document.all && !document.getElementById)
return

//oculta capa foto (por si foto anterior que no se haya ocultado)
ocultar("foto")

//codigo HTML para la imagen
codigo_img = "<a href=\"javascript:ocultar( 'foto' )\" title=\"Pulse para cerrar\"><img id=\"imagen\" src=\"" + imagenes + "\" width=\"336" + "\" height=\"450" + "\" onLoad=\"ver_foto()\" /></a>"
//cambia contenido capa
miFoto = obtiene_objeto( 'foto' )
miFoto.innerHTML = codigo_img
}

//obtiene objeto por nombre
function obtiene_objeto( idobj ) {
//obtiene objeto capa
if (document.getElementById) {
return document.getElementById( idobj )
} else if (document.all) {
return document.all[ idobj ]
} else {
return null
}
}

//muestra capa
function mostrar( que ) {
var miCapa = obtiene_objeto( que )
if ( miCapa )
miCapa.style.visibility = "visible"
}

//oculta capa
function ocultar( que ) {

var miCapa = obtiene_objeto( que )
if ( miCapa )
miCapa.style.visibility = "hidden"

}

function mover( que, posx, posy ) {

var miCapa = obtiene_objeto( que )

if ( miCapa ) {

//para navegadores compatibles DOM
if ( document.getElementById ) {
miCapa.style.top = posy + 'px'
miCapa.style.left = posx + 'px'
}
//para el IE 4.x
else if ( document.all ) {
miCapa.style.pixelTop = posy + 'px'
miCapa.style.pixelLeft = posx + 'px'
}
}
}

//muestra foto y la centra
function ver_foto() {

var miImagen = obtiene_objeto('imagen')

//posicion imagen
doc_ancho_alto()
var centro_x = (docAncho - miImagen.width)/2
var centro_y = (docAlto - miImagen.height)+320

mover('foto', centro_x, centro_y)
mostrar('foto')
}

//original de http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
//determina el ancho / alto del documento
function doc_ancho_alto() {

if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
docAncho = window.innerWidth
docAlto = window.innerHeight
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
docAncho = document.documentElement.clientWidth
docAlto = document.documentElement.clientHeight
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
docAncho = document.body.clientWidth
docAlto = document.body.clientHeight
}
}
</script>

CODIGO HTML

<a href="javascript:muestra_foto('fotoAmpliada.jpg')" >
<img src="miniatura.jpg" border="0" alt=""/></a>