您好,您能否给我看一下我的这个程序。非常谢谢!
您好,您能否给我看一下我的这个程序。谢谢!
我有一个日历提醒的源程序,当点击每一天时,可以输入今天需要提醒的内容,
我想问的是如何当我改变系统日期和时间时,它会自动的给与提示当天需要提
示的内容。这个输出的函数怎么写呢?谢谢您的帮助。
以下是我的源程序。
<script LANGUAGE= "JavaScript ">
<!--
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 // November
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] = "一月 "
ar[1] = "二月 "
ar[2] = "三月 "
ar[3] = "四月 "
ar[4] = "五月 "
ar[5] = "六月 "
ar[6] = "七月 "
ar[7] = "八月 "
ar[8] = "九月 "
ar[9] = "十月 "
ar[10] = "十一月 "
ar[11] = "十二月 "
// return name of specified month (parameter)
return ar[month]
}
function setCal() {
// standard time attributes
var now = new Date()
var year = now.getYear()
var month = now.getMonth()
var monthName = getMonthName(month)
var date = now.getDate()
now = null
// create instance of first day of month, and extract the day on which it occurs
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 = 1 // 3D height of table 's border
var cellspacing = 2 // width of table 's border
var headerColor = "midnightblue " // color of table 's header
var headerSize = "+3 " // size of tables header font
var colWidth = 50 // 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 = 20 // 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 += ' <CENTER> '
text += ' <TABLE BORDER= ' + border + ' CELLSPACING= ' + cellspacing + '> ' // table settings
text += ' <TH COLSPAN=7 ALIGN= "center " VALIGN= "center " HEIGHT= ' + headerHeight + '> ' // 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 ALIGN= "center " VALIGN= "center " 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] = "星期日 "
weekDay[1] = "星期一 "
weekDay[2] = "星期二 "
weekDay[3] = "星期三 "
weekDay[4] = "星期四 "
weekDay[5] = "星期五 "
weekDay[6] = "星期六 "
// 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 digit = 1
var curCell = 1
for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
text += ' <TR ALIGN= "center " VALIGN= "top "> '
for (var col = 1; col <= 7; ++col) {
if (digit > lastDate)
break
if (curCell < firstDay) {
text += ' <TD> </TD> ';
curCell++
} else {
if (digit == date) { // current cell represent today 's date
text += ' <TD HEIGHT= ' + cellHeight + '> '
text += ' <FONT COLOR= " ' + todayColor + ' "> '
text += ' <A HREF= "javascript:getInput( ' + digit + ', \ ' ' + monthName + '\ ') " onMouseOver= "window.status = \ 'Store or retrieve data for ' + monthName + ' ' + digit + '\ '; return true "> <FONT COLOR= " ' + todayColor + ' "> ' + digit + ' </FONT> </A> '
text += ' <BR> '
text += ' <FONT COLOR= " ' + timeColor + ' " SIZE=2> '
text += ' <CENTER> ' + getTime() + ' </CENTER> '
text += ' </FONT> '
text += ' </TD> '
} else
text += ' <TD HEIGHT= ' + cellHeight + '> <A HREF= "javascript:getInput( ' + digit + ', \ ' ' + monthName + '\ ') " onMouseOver= "window.status = \ 'Store or retrieve data for ' + monthName + ' ' + digit + '\ '; return true "> ' + digit + ' </A> </TD> '
digit++
}
}
text += ' </TR> '
}
// close all basic table tags
text += ' </TABLE> '
text += ' </CENTER> '
// print accumulative HTML string
document.write(text)
}
setCal()
// -->
</script>
[解决办法]
可以设个定时器,定时检查日期.