Salve ragazzi ho in seguente codice per un calendario in javascript:
Però ho due problemi:codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento senza titolo</title> <script type="text/javascript"> function leapYear(year) { if (year % 4 == 0) {// basic rule return true; // is leap year } /* else */ // else not needed when statement is "return" return false; // is not leap year } function getDays(month, year) { // create array to hold number of days in each month var ar = new Array(12); ar[0] = 31; // January ar[1] = (leapYear(year)) ? 29 : 28; // February ar[2] = 31; // March ar[3] = 30; // April ar[4] = 31; // May ar[5] = 30; // June ar[6] = 31; // July ar[7] = 31; // August ar[8] = 30; // September ar[9] = 31; // October ar[10] = 30; // Novembre ar[11] = 31; // December // return number of days in the specified month (parameter) return ar[month]; } function getMonthName(month) { // create array to hold name of each month var ar = new Array(12); ar[0] = "January"; ar[1] = "February"; ar[2] = "March"; ar[3] = "April"; ar[4] = "May"; ar[5] = "June"; ar[6] = "July"; ar[7] = "August"; ar[8] = "September"; ar[9] = "October"; ar[10] = "November"; ar[11] = "December"; // return name of specified month (parameter) return ar[month]; } function setCal() { // standard time attributes var now = new Date(); var year = now.getFullYear(); var month = now.getMonth(); var monthName = getMonthName(month); var date = now.getDate(); now = null; var firstDayInstance = new Date(year, month, 1); var firstDay = firstDayInstance.getDay(); firstDayInstance = null; // number of days in current month var days = getDays(month, year); // call function to draw calendar drawCal(firstDay + 1, days, date, monthName, year); } function drawCal(firstDay, lastDate, date, monthName, year) { // constant table settings //var headerHeight = 30 // height of the table's header cell var border = 2; // 3D height of table's border var cellspacing = 4; // width of table's border var headerColor = "midnightblue"; // color of table's header var headerSize = "+2"; // size of tables header font var colWidth = 30; // width of columns in table var dayCellHeight = 25; // height of cells containing days of the week var dayColor = "darkblue"; // color of font representing week days var cellHeight = 40; // height of cells representing dates in the calendar var todayColor = "red"; // color specifying today's date in the calendar var timeColor = "purple"; // color of font representing current time // create basic table structure var text = ""; // initialize accumulative variable to empty string text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>'; // table settings text += '<TH COLSPAN=7 bgcolor=orange HEIGHT=' + 10 + '>'; // create table header cell text += '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>'; // set font for table header text += monthName + ' ' + year; text += '</FONT>'; // close table header's font settings text += '</TH>'; // close header cell // variables to hold constant settings var openCol = '<TD BGCOLOR="tan" WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'; openCol += '<FONT COLOR="' + dayColor + '">'; var closeCol = '</FONT></TD>'; // create array of abbreviated day names var weekDay = new Array(7); weekDay[0] = "Sun"; weekDay[1] = "Mon"; weekDay[2] = "Tues"; weekDay[3] = "Wed"; weekDay[4] = "Thu"; weekDay[5] = "Fri"; weekDay[6] = "Sat"; // create first row of table to set column width and specify week day text += '<TR ALIGN="center" VALIGN="center">'; for (var dayNum = 0; dayNum < 7; ++dayNum) { text += openCol + weekDay[dayNum] + closeCol; } text += '</TR>'; // declaration and initialization of two variables to help with tables var dayOfMonth = 1; var curCell = 1; for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) { text += '<TR ALIGN="right" VALIGN="top">'; for (var col = 1; col <= 7; ++col) { if ((curCell < firstDay) || (dayOfMonth > lastDate)) { text += '<TD HEIGHT="25" BGCOLOR="tan"> </TD>'; curCell++ } else { if (dayOfMonth == date) { // current cell represents today's date text += '<TD HEIGHT="25" BGCOLOR="red">' + '<FONT COLOR="blue">' + dayOfMonth + '</TD>'; } else { text += '<TD HEIGHT="25" BGCOLOR="lightyellow">' + '<FONT COLOR="red">' + dayOfMonth + '</TD>'; } dayOfMonth++; } } text += '</TR>'; } // close all basic table tags text += '</TABLE>'; text += '</CENTER>'; // print accumulative HTML string document.write(text); } </script> </head> <body> <script type="text/javascript"> setCal(); </script> </body> </html>
1) Non vedo praticamete nulla, eppure chiamo la funzione setCal che dovrebbe talvolta richiamare drawCal che stampa a video il calendario.
2) Vorrei inserire due pulsanti "Avanti" e "Indietro" per scorrere i mesi, qualcuno può aiutarmi grazie anticipatamente.

Rispondi quotando