Foros del Web » Programando para Internet » Javascript »

Tamaño imagenes

Estas en el tema de Tamaño imagenes en el foro de Javascript en Foros del Web. Hola, estoy haciendo una práctica, y la quiero perfeccionar un poco(es una chorrada), para hacerla un poco más eficiente. Tengo una tabla con imágenes, y ...
  #1 (permalink)  
Antiguo 02/06/2013, 14:14
 
Fecha de Ingreso: febrero-2013
Mensajes: 33
Antigüedad: 11 años, 2 meses
Puntos: 0
Tamaño imagenes

Hola, estoy haciendo una práctica, y la quiero perfeccionar un poco(es una chorrada), para hacerla un poco más eficiente.

Tengo una tabla con imágenes, y cuando cliqueo en una, la hago a 1024x768, y cuando cliqueo dos veces, a 100x100. Hasta ahí todo ok, pero cuando tengo una imagen grande, y cliqueo otra, quiero que esta primera me vuelva al tamaño original(100x100) y agrande la otra, pero no consigo hacer que funcione. Necesito ayuda please!!!

function ampliar(id){


var imagen=document.getElementById("imagen"+id);

imagen.style.width = '1024px';
imagen.style.height = '768px';


}

function restaurar(id){

comprobarTam();

var imagen=document.getElementById("imagen"+id);

imagen.style.width = '100px';
imagen.style.height = '100px';


}

function comprobarTam(){


var i;
var aux;
var imagen = document.getElementByTag("img"):

for(i in imagen){

aux=imagen[i];

if(aux.style.width='1024px'){

imagen.style.width = '100px';
imagen.style.height='100px';
//break for;
}
}

}



Muchas gracias

Última edición por vankish_ru; 02/06/2013 a las 14:55
  #2 (permalink)  
Antiguo 03/06/2013, 02:00
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Tamaño imagenes

Pon una variable global iniciada a NULL apuntando a la última imagen que se hizo grande.

En la función que agranda las imágenes, utiliza esa variable para volver a poner la útima imagen utilizada a 100px, siempre que no sea NULL.
  #3 (permalink)  
Antiguo 03/06/2013, 23:42
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Tamaño imagenes

Recorré las imágenes, y a menos que la imagen en el array se corresponda con el elemento "dobleclickeado", la restaurás, algo asi

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>ampliar/restaurar imagen</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function ampliar(t){
  9. var contenedor = document.getElementById('contiene_img');
  10. var losImg = contenedor.getElementsByTagName('img');   
  11.     for (i=0; i<losImg.length; i++) {
  12.         if(losImg[i] == t){
  13.         t.style.width = "1024px";
  14.         t.style.height = "768px";
  15.         }else{
  16.         restaurar(losImg[i]);
  17.         }
  18.     }
  19. }
  20.  
  21. function restaurar(im){
  22. im.style.width = "100px";
  23. im.style.height = "100px";
  24. }
  25. //]]>
  26.  
  27. </head>
  28. <p id="contiene_img">
  29. <img src="a.jpg" width="100" height="100" alt="" ondblclick="ampliar(this);" onclick="restaurar(this)"/><br />
  30. <img src="b.jpg" width="100" height="100" alt="" ondblclick="ampliar(this);" onclick="restaurar(this)" /><br />
  31. <img src="c.jpg" width="100" height="100" alt="" ondblclick="ampliar(this);" onclick="restaurar(this)" /><br />
  32. </p>
  33. </body>
  34. </html>

Podés mejorarla utilizando addEventListener para agregar los eventos en forma dinámica, aqui, algunos ejemplos:
http://www.forosdelweb.com/f13/addev...2/#post4377485
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 04/06/2013, 02:41
 
Fecha de Ingreso: febrero-2013
Mensajes: 33
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Tamaño imagenes

Muchas gracias tios!!

Etiquetas: funcion, imagenes, tamaño
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 16:18.