Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/04/2011, 13:06
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Consulta calendario

Entiendo.

Bueno el código que te paso tiene corregido los problemas que no cerrás la etiquetas y le agregué lo del inicializamiento de j (el cual si estaba iniciado en 0 al comienzo :P ).
Código Javascript:
Ver original
  1. var diamesact;
  2. var diasemana;
  3. var mes;
  4. var ano; //año
  5. var diasmes; //dias de los meses
  6. var x;
  7. var y;
  8. var diasemanact;
  9. var i;
  10. var j = 0;
  11. var z = 0;
  12. var columna;
  13.  
  14. meses = new Array();
  15. meses[0] = "Enero";
  16. meses[1] = "Febrero";
  17. meses[2] = "Marzo";
  18. meses[3] = "Abril";
  19. meses[4] = "Mayo";
  20. meses[5] = "Junio";
  21. meses[6] = "Julio";
  22. meses[7] = "Agosto";
  23. meses[8] = "Septiembre";
  24. meses[9] = "Octubre";
  25. meses[10] = "Noviembre";
  26. meses[11] = "Diciembre";
  27.  
  28. dias = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  29.  
  30. cita = new Array(null, null, null, null, null, null, null)
  31.  
  32. function mostrarcalendario() {
  33.     var fecha = new Date()
  34.     diamesact = fecha.getDate();
  35.     diasemana = fecha.getDay() - 1;
  36.     mes = fecha.getMonth() + 1;
  37.     ano = fecha.getYear();
  38.  
  39.  
  40.     if ((mes == 1) || (mes == 3) || (mes == 5) || (mes == 7) || (mes == 8) || (mes == 10) || (mes == 12)) {
  41.         diasmes = dias[0];
  42.     } else if (mes == 2) {
  43.         diasmes = dias[1];
  44.     } else {
  45.         diasmes = dias[3];
  46.     }
  47.  
  48.     document.write("<center><table border=1>");
  49.     document.write("<tr>");
  50.     document.write("<th bgcolor='aliceblue'>" + meses[mes - 1] + " " + ano + "</th>") // -1 uno para que se ajuste al array y de el mes correcto
  51.     document.write("</tr>");
  52.     document.write("</table>");
  53.  
  54.     document.write("<center><table border=1>");
  55.     document.write("<tr>");
  56.     document.write("<th>LU</th><th>MA</th><th>MI</th><th>JU</th><th>VI</th><th>SA</th><th>DO</th>");
  57.     document.write("</tr>");
  58.  
  59.     // Calcula los espacios en blanco del mes actual - aqui no me hace el salto.
  60.     for (x = diamesact; x > 1; x--) {
  61.         if (diasemana == 0) {
  62.             diasemana = 7;
  63.         } else {
  64.             diasemana--;
  65.         }
  66.     }
  67.    
  68.     document.write("<tr>");
  69.     for (i = 1; i < diasemana; i++) {
  70.         document.write("<th></th>");
  71.     }
  72.     var j=diasemana-1;//<--- inicializar j en algun valor, por si hay espacios en blanco
  73.     for (i = 1; i <= diasmes; i++) {
  74.         if (cita[i] != null) {
  75.             document.write("<th>" + '<a href="javascript:volverpadre()' + cita[i] + '">' + i + '</a>' + "</th>")
  76.             j++;
  77.         } else {
  78.             document.write("<th>" + i + "</th>");
  79.             j++;
  80.         }
  81.         if (j == 7) {
  82.             document.write("</tr>");
  83.             j = 0;
  84.         }
  85.     }
  86.     document.write("</table>");
  87. }

De todas formas deberías revisar en varios meses a ver si algo sale mal... yo no estoy familiarizado con el código ni tengo muchas ganas tampoco de hacer todo eso :P
__________________
nahueljose.com.ar