Codice script calendario con style css



- Style css per la pagina e il calendario, da scrivere tra i tag <head> e </head>

<style type="text/css">
//Parametri per la pagina
body {background-color:transparent;
margin-top: 0px;
margin-left: 0px;
}

//Parametri per la table che contiene il calendario
table.calendar{
border:1px dotted #554623;
width:75px;
font-family:Verdana;
font-size : 10px;
color: #5c3434;
text-align: center
}

//Parametro per il bordo nelle celle dei giorni
td.celle{
border:1px dotted #554623;
}

//Parametri per i giorni della settimana
.days{
font-family:Verdana;
font-size : 10px;
color:#5c3434;
text-align: center;
}

//Parametri per la domenica
.domenica{
font-family:Verdana;
font-size : 10px;
color:#dc7c7e;
text-align: center;
}

//Parametri per il giorno corrente
.today{
font-family:Verdana;
font-size : 10px;
color:#5c3434;
font-weight:bold;
text-decoration:underline
}
</style>



- Codice script da inserire tra i tag <body> e </body>

<script type="text/javascript">
//The JavaScript Source http://javascript.internet.com
/* Spiegato e commentato da https://www.iltelaiodipenelope.it/tutorial/index.php */

monthnames = new Array(
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre");
var linkcount=0;
function addlink(month, day, href) {
var entry = new Array(3);
entry[0] = month;
entry[1] = day;
entry[2] = href;
this[linkcount++] = entry;
}
Array.prototype.addlink = addlink;
linkdays = new Array();
monthdays = new Array(12);
monthdays[0]=31;
monthdays[1]=28;
monthdays[2]=31;
monthdays[3]=30;
monthdays[4]=31;
monthdays[5]=30;
monthdays[6]=31;
monthdays[7]=31;
monthdays[8]=30;
monthdays[9]=31;
monthdays[10]=30;
monthdays[11]=31;
todayDate=new Date();
thisday=todayDate.getDay();
thismonth=todayDate.getMonth();
thisdate=todayDate.getDate();
thisyear=todayDate.getYear();
thisyear = thisyear % 100;
thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear));
if (((thisyear % 4 == 0)
&& !(thisyear % 100 == 0))
||(thisyear % 400 == 0)) monthdays[1]++;
startspaces=thisdate;
while (startspaces > 7) startspaces-=7;
startspaces = thisday - startspaces + 1;
if (startspaces < 0) startspaces+=7;

document.write("<table class='calendar'"); // Classe table
document.write("cellpadding=2 cellspacing=2>"); // Parametri cellpadding e cellspacing
document.write("<tr><td colspan='7'>" + monthnames[thismonth] + " " + thisyear + "</td></tr>");
document.write("<tr>");
document.write("<td class='domenica'>D</td>"); // Inizio giorni della settimana - Domenica
document.write("<td class='days'>L</td>");
document.write("<td class='days'>M</td>");
document.write("<td class='days'>M</td>");
document.write("<td class='days'>G</td>");
document.write("<td class='days'>V</td>");
document.write("<td class='days'>S</td>");
document.write("</tr>");
document.write("<tr>");
for (s=0;s<startspaces;s++) {
document.write("<td>-</td>"); // Asterisco visibile nei giorni mancanti inizio calendario
}
count=1;
while (count <= monthdays[thismonth]) {
for (b = startspaces;b<7;b++) {
linktrue=false;
document.write("<td class="celle">"); //Celle giorni calendario
for (c=0;c<linkdays.length;c++) {
if (linkdays[c] != null) {
if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) {
document.write("<a href=\"" + linkdays[c][2] + "\">");
linktrue=true;
}
}
}
if (count==thisdate) {
document.write("<span class='today'>"); // Parametro per il giorno corrente
}
if (count <= monthdays[thismonth]) {
document.write(count);
}
else {
document.write(" ");
}
if (count==thisdate) {
document.write("</span>");
}
if (linktrue)
document.write("</a>");
document.write("</td>");
count++;
}
document.write("</tr>");
document.write("<tr>");
startspaces=0;
}
document.write("</table>");
</script>

Il telaio di Penelope

~ 105 ~