![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
14/01/2004, 06:51
|
| | Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años, 2 meses Puntos: 1 | |
Hola a todos!!! Pues ya está. Os pongo el calendario de Pellagofio (todos los méritos son suyos) ![borracho](http://static.forosdelweb.com/fdwtheme/images/smilies/borracho.png) , con otro formato (gracias también a JavierB)
1º- En el documento donde aparece el calendario: <script src="Calendario_Enlaces.js"></script>
<script language="JavaScript">
<!--
var b=0;
DiaEnlace = new Array();
// DiaEnlace[b] = new Array(Dia,Mes,Año,Url,Ventana,Año);b++;
DiaEnlace[b] = new Array(14,1,2004,"http://www.forosdelweb.com","_blank");b++;
</script>
2º- Todo el código está incluido en un archivo .js. Ahí va: / +------------------------------------------------------------+
// | CALENDARIO CON ENLACES ACTIVOS |
// +------------------------------------------------------------+
var ns6=document.getElementById&&!document.all
var ie4=document.all
var ColorFondoCal = "#FFFFFF";
var ColorBordeCal = "#000080";
var ColorBordeCalDias = "#E6F7FF";
var ColorFondoCab = "#009EF9";
var ColorBordeCab = "#000080";
var ColorFondoCabDias = "#A8DEFF";
var ColorBordeCabDias = "#000080";
var ColorFondoDias = "#E6F7FF";
var ColorBordeDias = "#FFFFFF";
var ColorFondoDiasEnlace = "#009EF9";
var ColorBordeDiasEnlace = "#FF0000";
var ColorFondoActual = "#FFFFCC";
var ColorEnlaceSobre = "#FF0000";
var ColorEnlace = "#FFFFFF";
var DiasPorMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var NombreMes = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
var NombreDias = new Array('L', 'M', 'X', 'J', 'V', 'S', 'D');
var MesSeleccionado;
var AnioSeleccionado;
var FechaActual = new Date();
var Hoy = FechaActual.getDate();
var MesActual = FechaActual.getMonth();
var AnioActual = FechaActual.getYear();
if (AnioActual < 1000)
AnioActual+=1900;
var startspaces=0;
function Header(Year, Mes)
{
if (Mes == 1)
DiasPorMes[1] = ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 !=0))) ? 29 : 28;
var Header_String = NombreMes[Mes] + ' ' + Year;
return Header_String;
}
function CreaCalendario(Year, Mes)
{
var PrimeraFecha = new Date(Year, Mes);
var Heading = Header(Year, Mes);
var PrimerDia = PrimeraFecha.getDay() ;
startspaces=Hoy;
while (startspaces > 7)
startspaces-=7;
startspaces = PrimerDia - 1;
if (startspaces < 0)
startspaces+=7;
var Cadena = '<table border=1 bordercolor="'+ColorBordeCal+'" cellspacing=0 cellpadding=0><tr><td valign="top"><table BORDER=1 CELLSPACING=1 cellpadding=2 FRAME="box" BGCOLOR="'+ColorFondoCal+'" BORDERCOLOR="'+ColorBordeCalDias+'">';
Cadena += '<tr><th colspan=7 class="Verdana12BlancoNegritaMayus"BGCOLOR="'+Colo rFondoCab+'" BORDERCOLOR="'+ColorBordeCab+'">'+Heading+'</font></font></th></tr><tr>';
for (var j=0; j<7; j++)
{
Cadena += '<th border=1 class="Verdana12Azul" ALIGN="CENTER" BGCOLOR="'+ColorFondoCabDias+'" BORDERCOLOR="'+ColorBordeCabDias+'"><b>'+NombreDia s[j]+'</b></font></font></th>'
}
Cadena += '<tr>';
for (s=0;s<startspaces;s++)
Cadena+="<td></td>";
count=1;
while (count <= DiasPorMes[Mes])
{ for (b = startspaces;b<7;b++)
{ linktrue=false;
for (c=0;c<DiaEnlace.length;c++)
{
if ((DiaEnlace[c] != null) && (DiaEnlace[c][0]==count)&& (DiaEnlace[c][1]==Mes + 1) && (DiaEnlace[c][2]==Year))
{Cadena+='<td bordercolor="'+ColorBordeDiasEnlace+ '" bgcolor="'+ColorFondoDiasEnlace+'"><a href="' + DiaEnlace[c][3] + '"target="'+DiaEnlace[c][4] + '"class="Verdana12BlancoNegritaMayus" title="Haga clic aquí">';
linktrue=true;
}
}
if (linktrue==false)
{
if ((count==Hoy) && (MesActual==Mes) && (AnioActual==Year))
Cadena+="<td class='Verdana12' bgcolor='"+ColorFondoActual+"'><strong><center>";
else
Cadena+="<td class='Verdana12' bgcolor='"+ColorFondoDias+"'><center>"
}
if (count <= DiasPorMes[Mes])
if (linktrue==false)
Cadena+=+count
if (linktrue)
Cadena+=count;
else
Cadena+="";
if ((count==Hoy) && (MesActual==Mes) && (AnioActual==Year))
Cadena+="</strong>";
Cadena+="</center></td>";
count++;
}
Cadena+="</tr><tr>";
startspaces=0;
}
Cadena += '</table></td></tr></table>';
cross_el=ns6? document.getElementById("Calendar") : document.all.Calendar
cross_el.innerHTML = Cadena;
}
function VerifFecha()
{ if ((event.keyCode < 48) || (event.keyCode > 57))
{ return false;
}
}
function On_Year()
{ var Year = document.when.anio.value;
if (Year.length == 4)
{ MesSeleccionado = document.when.Mes.selectedIndex;
AnioSeleccionado = Year;
CreaCalendario(AnioSeleccionado, MesSeleccionado);
}
}
function On_Mes()
{ var Year = document.when.anio.value;
if (Year.length == 4)
{ MesSeleccionado = document.when.Mes.selectedIndex;
AnioSeleccionado = Year;
CreaCalendario(AnioSeleccionado, MesSeleccionado);
}
else
{ alert('Año erroneo.');
document.when.anio.focus();
}
}
function PorDefecto() {
if (!ie4&&!ns6)
return
var Mid_Screen = Math.round(document.body.clientWidth / 2);
document.when.Mes.selectedIndex = MesActual;
document.when.anio.value = AnioActual;
MesSeleccionado = MesActual;
AnioSeleccionado = AnioActual;
CreaCalendario(AnioActual, MesActual);
}
function Pasar(direccion)
{ if (direccion == '+')
{ MesSeleccionado++;
if (MesSeleccionado == 12)
{ MesSeleccionado = 0;
AnioSeleccionado++;
}
}
if (direccion == '-')
{ MesSeleccionado--;
if (MesSeleccionado < 0)
{ MesSeleccionado = 11;
AnioSeleccionado--;
}
}
CreaCalendario(AnioSeleccionado, MesSeleccionado);
document.when.Mes.selectedIndex = MesSeleccionado;
document.when.anio.value = AnioSeleccionado;
}
3º- Por último incluyo la declaración de los estilos utilizados (para los tipos de letra del calendario):
. Verdana12 { font-family: Verdana; font-size: 12px; color: #000000; text-decoration: none}
.Verdana12BlancoNegritaMayus { font-family: Verdana; font-size: 12px; font-style: normal; text-decoration: none; color: #FFFFFF; text-align: centre; vertical-align: middle; font-weight: bold; text-transform: uppercase }
.Verdana12Azul { font-family: Verdana; font-size: 12px; font-style: normal; text-decoration: none; color: #000080; text-align: centre; vertical-align: middle; font-weight: normal}
Gracias de nuevo a todos, en especial a Pellagofio que es el autor de todo el invento!!
Hasta pronto!!
Última edición por Liz26; 14/01/2004 a las 06:53 |