Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2014, 14:14
pedromir
 
Fecha de Ingreso: enero-2014
Mensajes: 91
Antigüedad: 10 años, 3 meses
Puntos: 2
Modificar el Nº de columnas según condición

Hola a todos, tengo una tabla que creo dinámicamente, con varias columnas para mostrar unas fotos de distintos géneros que salen de un array y quiero que al terminar un género,
si en la última fila no completa todas las columnas me queden estas vacías y el siguiente género pase a la siguiente fila y así con todos.

Lo que se me ha ocurrido, no sé si es la mejor opción, es modificar el número de columnas para la última fila de cada género, con el fin de que el nº de columnas sea el mismo que el de fotos a mostrar.
He hecho una función que me cuenta el nº de fotos de cada género pero no se como hacer para que me cambie el nº de columnas en una fila concreta, que sería la última de cada género, según el resultado de esta función.
Saludos

Código Javascript:
Ver original
  1. var fotos = new Array();
  2. fotos = [["paisaje","foto1"],
  3.                 [paisaje","foto2"],
  4.                ["paisaje","foto3"],
  5.                ["monumento","foto4"],
  6.                ["monumento","foto5"],
  7.                ["monumento","foto6"],
  8.                ["deporte","foto7"],
  9.                ["deporte","foto8"],
  10.                ["deporte","foto9"]];
  11.  
  12. var col = 2;
  13. var filas = 2;
  14.  
  15. function countElement(){
  16.     count = 0; 
  17.  
  18.  for(var i in fotos){
  19.    
  20.     if(fotos[i][0] == "paisaje") count++;
  21.         contador = count;
  22.     }
  23.     multiply = contador-(col*filas);     
  24.     if (multiply < parseInt(col)) {
  25.  
  26. // Y hasta aquí he llegado
  27.  
  28.    return ();
  29.  }
  30.  
  31.             Contenido = '<table id=fotos>';
  32.             Contenido += '<tr>'
  33.             for (indC=i*col; indC < i*col+col && indC < fotos.length; indC++)          
  34.             {          
  35.             Contenido += '<td id="genero">'+fotos[indC][0]+'</td>';        
  36.             }                      
  37.             Contenido += '</tr>';
  38.             Contenido += '<tr>';
  39.             for (indC=i*col; indC < i*col+col && indC < fotos.length; indC++)
  40.             {          
  41.             Contenido += '<td class="diapositivas"><img src=\"images/'+fotos[indC][1]+'.jpg\"></td>';          
  42.             }          
  43.             Contenido += '</tr>';          
  44.             Contenido += '</table>';
  45.             res.push(Contenido);
el +col habria que sustituirlo por una función pero lo que he probado no me funciona