Foros del Web » Programando para Internet » Javascript »

Nueva linea cada semana en un calendario

Estas en el tema de Nueva linea cada semana en un calendario en el foro de Javascript en Foros del Web. Tengo un problema con un calendario que estoy montando. El problema es que no me añade una linea nueva cada semana y me salen los ...
  #1 (permalink)  
Antiguo 22/09/2015, 04:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Nueva linea cada semana en un calendario

Tengo un problema con un calendario que estoy montando.
El problema es que no me añade una linea nueva cada semana y me salen los dias del mes en una sola. En principio debería funcionar porque he metido un contador que cuando es divisible entre 7 me añade una nueva linea. Pero no funciona eso, y no se porque.

Os dejo el código:

Código Javascript:
Ver original
  1. function calendario() {
  2.     var fechaActual = new Date();
  3.     var anoActual = fechaActual.getFullYear(); // Año actual
  4.     meses = ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
  5.     if ((anoActual%4==0) && ((anoActual%100!= 0) || (anoActual%400==0))) { // Si es bisiesto o no
  6.         diasPorMes = ['31','29','31','30','31','30','31','31','30','31','30','31'];
  7.     } else {
  8.         diasPorMes = ['31','28','31','30','31','30','31','31','30','31','30','31'];
  9.     }
  10.     diasSemana = ['Domingo', 'Lunes','Martes','Miercoles','Jueves','Viernes','Sabado'];
  11.     $("#contenedor").append("<div id='calendario'></div>");
  12.     for(var i=0;i<meses.length;i++) { // Muestro los 12 meses
  13.         var contadorMeses = 1;
  14.         var contador=0; // Contador que rompe la semana cada 7 dias
  15.         $("#calendario").append("<table id='"+meses[i]+"'>");
  16.         $("#"+meses[i]).append("<tr><td colspan='7'>"+meses[i]+"</td></tr>");
  17.         $("#"+meses[i]).append("<tr><td>D</td><td>L</td><td>M</td><td>Mi</td><td>J</td><td>V</td><td>S</td></tr>");        
  18.         $("#"+meses[i]).append("<tr>"); // Nueva linea por semana
  19.         fecha = new Date(contadorMeses+"/1/"+anoActual);
  20.         primerDia = new Date(fecha.getFullYear(), fecha.getMonth(), 1).getDay();
  21.         for(var j=0;j<primerDia;j++) { // Espacios en blanco antes del primer dia
  22.             $("#"+meses[i]).append("<td style='border:1px solid #000;'></td>");
  23.             contador++;
  24.         }
  25.         for(var j=1;j<=diasPorMes[i];j++) {
  26.             if(contador%7==0) { // Rotura de semana cada 7 dias
  27.                 $("#"+meses[i]).append("</tr><tr>");
  28.             }
  29.             $("#"+meses[i]).append("<td style='border:1px solid #000;'>"+j+"</td>");           
  30.             contador++;
  31.         }
  32.         $("#"+meses[i]).append("</tr>");
  33.         $("#"+meses[i]).append("</table>");
  34.         contadorMeses++;
  35.     }
  36. }

De hecho, si pongo un alert cuando el contador es divisible entre 7 me bien, pero la nueva linea de la tabla no aparece.

Última edición por monicapo; 22/09/2015 a las 04:57

Etiquetas: cada, calendario, funcion, semana
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:43.