Foros del Web » Programando para Internet » Javascript »

Cambiar año calendario

Estas en el tema de Cambiar año calendario en el foro de Javascript en Foros del Web. Hola a todos; Tengo una duda sobre el código de un javascript que hay por la red. Es un calendario y quisiera añadir dos botones ...
  #1 (permalink)  
Antiguo 30/09/2009, 02:26
Avatar de CopperDavid  
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 40
Antigüedad: 15 años
Puntos: 1
Cambiar año calendario

Hola a todos;

Tengo una duda sobre el código de un javascript que hay por la red.

Es un calendario y quisiera añadir dos botones para pasar los años tanto anterior como siguiente y no se como cambiar la variable año una vez apretas a un boton, para que cambie el año correspondiente.

Os dejo el script;

Código HTML:
********************************************
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
 
// definicion variables
var nombre_meses = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
var dias_mes  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var fecha = new Date();                                   // recojemos la fecha de hoy
var dia_hoy = fecha.getDate();                           // devuelve dia de hoy
var mes_hoy = fecha.getMonth();
var anio_hoy = fecha.getYear();                        // devuelve mes de hoy 
 
function makeCalendar(mes, anio)
{   primer_mes = new Date(anio, mes, 0);        
    dia_semana = primer_mes.getDay();                    
    if  (((anio % 4 == 0) && (anio % 100 != 0)) || (anio % 400 == 0))
    {   dias_mes[1] = 29;                                
    }
    else
    {   dias_mes[1] = 28;                               
    }
    document.write("<TABLE CALLSPACING=0 CELLPADDING=0>");    
    document.write("<TR style='font-size:14px'><TH COLSPAN=7>" + nombre_meses[mes] + "</TH></TR>");        
    document.write("<TR style='font-size:12px'>");
    document.write("<TH>Lu</TH><TH>Ma</TH><TH>Mi</TH><TH>Ju</TH><TH>Vi</TH><TH>Sa</TH><TH>Do</TH>");
    document.write("</TR>");
    document.write("<TR align='center' style='font-size:12px'>");
    var columna = 0;
    for (i=0; i<dia_semana; i++)  // primer dia de la semana
    {   document.write("<TD> </TD>");
        columna++;
    }
    for (i=1; i<=dias_mes[mes]; i++)
    {   
        if  ((i == dia_hoy)  && (mes == mes_hoy) && (anio == anio_hoy)) 
        {   document.write("<TD style=COLOR:'#FF0000'><B>" + i + "</B></TD>"); //pintamos el dia de hoy en rojo       
        }
        else
        {   document.write("<TD ><B>" + i + "</B></TD>");             //el resto de dias que no es hoy
        }
        columna++;
        if  (columna == 7)                                   
        {   document.write("</TR><TR align='center' style='font-size:12px'>");
            columna = 0;
        }
    }
    document.write("</TR></TABLE>");                         
}

function pasar_anio(iAnio,boton)
{
	if (boton=="anterior"){
		pasar_anio= iAnio-1;
	}else{
		pasar_anio= iAnio+1;
	}
	return pasar_anio;
}
    
function y2K(num)      
{ 
return (num < 1000) ? num + 1900 : num; 
}
  
var anio_actual = y2K(2009);






// -->
                        
</SCRIPT>

</head>

<body> 


<SCRIPT LANGUAGE="JavaScript">

document.write("<div align='center'><h2>Calendario HARES</h2></div>");
document.write("<div align='center'><h2>"+anio_actual+"</h2></div>");
document.write("<div align='center'><< anterior&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;siguiente >></div>");
document.write("<TABLE align='center' border='0' CELLPADDING=10>");
document.write("<TR valign=top><TD>")
makeCalendar(0, anio_actual);                                 
document.write("</TD><TD>");                                  
makeCalendar(1, anio_actual);
document.write("</TD><TD>");
makeCalendar(2, anio_actual);
document.write("</TD><TD>");
makeCalendar(3, anio_actual);
document.write("</TD></TR><TR VALIGN=TOP><TD>");
makeCalendar(4, anio_actual);
document.write("</TD><TD>");
makeCalendar(5, anio_actual);
document.write("</TD><TD>");
makeCalendar(6, anio_actual);
document.write("</TD><TD>");
makeCalendar(7, anio_actual);
document.write("</TD></TR><TR VALIGN=TOP><TD>");
makeCalendar(8, anio_actual);
document.write("</TD><TD>");
makeCalendar(9, anio_actual);
document.write("</TD><TD>");
makeCalendar(10, anio_actual);
document.write("</TD><TD>");
makeCalendar(11, anio_actual);
document.write("</TD></TR></TABLE>");
document.close();
 
// -->
                        
</SCRIPT>


</body>
</html>

***********************************************
No se si me e explicado bien o si se puede hacer o como lo harias vosotros.

Muchas gracias.
  #2 (permalink)  
Antiguo 30/09/2009, 03:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Cambiar año calendario

Hola:

En vez de estudiar un código ajeno, te paso la referencia de mi calendario donde se contempla el cambio de año... por cierto, hay otros usuarios de los foros con sus calendarios... por ejemplo este: Artículos en la categoría Fechas y horas

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 09:25.