在线记事的 日历

来源:互联网 发布:域名访问nodejs接口 编辑:程序博客网 时间:2024/04/29 00:47
在线记事的日历
===[在线记事的日历]共1步===1、将以下代码加入<body></body>之间<script LANGUAGE="JavaScript"><!--var caution = falsefunction setCookie(name, value, expires, path, domain, secure) {var curCookie = name + "=" + escape(value) +((expires) ? "; expires=" + expires.toGMTString() : "") +((path) ? "; path=" + path : "") +((domain) ? "; domain=" + domain : "") +((secure) ? "; secure" : "")if (!caution || (name + "=" + escape(value)).length <= 4000)document.cookie = curCookieelseif (confirm("Cookie exceeds 4KB and will be cut!"))document.cookie = curCookie}function getCookie(name) {var prefix = name + "="var cookieStartIndex = document.cookie.indexOf(prefix)if (cookieStartIndex == -1)return nullvar cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)if (cookieEndIndex == -1)cookieEndIndex = document.cookie.lengthreturn unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))}// name - name of the cookie// [path] - path of the cookie (must be same as path used to create cookie)// [domain] - domain of the cookie (must be same as domain used to create cookie)// * path and domain default if assigned null or omitted if no explicit argument proceedsfunction deleteCookie(name, path, domain) {if (getCookie(name)) {document.cookie = name + "=" + ((path) ? "; path=" + path : "") +((domain) ? "; domain=" + domain : "") +"; expires=Thu, 01-Jan-70 00:00:01 GMT"}}// date - any instance of the Date object// * you should hand all instances of the Date object to this function for "repairs"// * this function is taken from Chapter 14, "Time and Date in JavaScript", in "Learn Advanced JavaScript Programming"function fixDate(date) {var base = new Date(0)var skew = base.getTime()if (skew > 0)date.setTime(date.getTime() - skew)}function initCookie(monthName) {// initializes cookie with the following format:// ^1^^2^^3^^4^...^30^^31^// initialize accumulative variablevar text = ""for (var i = 1; i <= 31; ++i) {text += "^" + i + "^"}var now = new Date()fixDate(now)// set time to one month (31 days) in the futurenow.setTime(now.getTime() + 1000 * 60 * 60 * 24 * 31)setCookie(monthName + "Calendar", text, now)}function getSpecificReminder(num, monthName) {var prefix = "^" + num + "^"var totalCookie = getCookie(monthName + "Calendar")var startIndex = totalCookie.indexOf(prefix, 0)var startData = totalCookie.indexOf("^", startIndex + 1) + 1if (num == 31)var endData = totalCookie.lengthelsevar endData = totalCookie.indexOf("^", startData)return totalCookie.substring(startData, endData)}function setSpecificReminder(num, monthName, newValue) {var prefix = "^" + num + "^"var totalCookie = getCookie(monthName + "Calendar")var startIndex = totalCookie.indexOf(prefix, 0)var startData = totalCookie.indexOf("^", startIndex + 1) + 1if (num == 31)var endData = totalCookie.lengthelsevar endData = totalCookie.indexOf("^", startData)var now = new Date()fixDate(now)// set time to one month (31 days) in the futurenow.setTime(now.getTime() + 1000 * 60 * 60 * 24 * 31)setCookie(monthName + "Calendar", totalCookie.substring(0, startData) + newValue + totalCookie.substring(endData, totalCookie.length), now)}function getInput(num, monthName) {if (!getCookie(monthName + "Calendar")) initCookie(monthName)var newValue = prompt("Enter reminder for current date:", getSpecificReminder(num, monthName))if (newValue) // user did not cancelsetSpecificReminder(num, monthName, newValue)}function getTime() {// initialize time-related variables with current time settingsvar now = new Date()var hour = now.getHours()var minute = now.getMinutes()now = nullvar ampm = "" // validate hour valuesand set value of ampmif (hour >= 12) {hour -= 12ampm = "PM"} elseampm = "AM"hour = (hour == 0) ? 12 : hour// add zero digit to a one digit minuteif (minute < 10)minute = "0" + minute // do not parse this number!// return time stringreturn hour + ":" + minute + " " + ampm}function leapYear(year) {if (year % 4 == 0) // basic rulereturn true // is leap yearreturn false // is not leap year}function getDays(month, year) {// create array to hold number of days in each monthvar ar = new Array(12)ar[0] = 31 // Januaryar[1] = (leapYear(year)) ? 29 : 28 // Februaryar[2] = 31 // Marchar[3] = 30 // Aprilar[4] = 31 // Mayar[5] = 30 // Junear[6] = 31 // Julyar[7] = 31 // Augustar[8] = 30 // Septemberar[9] = 31 // Octoberar[10] = 30 // Novemberar[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 monthvar 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 ar[month]}function setCal() {var now = new Date()var year = now.getYear()var month = now.getMonth()var monthName = getMonthName(month)var date = now.getDate()now = nullvar firstDayInstance = new Date(year, month, 1)var firstDay = firstDayInstance.getDay()firstDayInstance = nullvar days = getDays(month, year)drawCal(firstDay + 1, days, date, monthName, year)}function drawCal(firstDay, lastDate, date, monthName, year) {var headerHeight = 50 // height of the table's header cellvar border = 2 // 3D height of table's bordervar cellspacing = 4 // width of table's bordervar headerColor = "midnightblue" // color of table's headervar headerSize = "+3" // size of tables header fontvar colWidth = 60 // width of columns in tablevar dayCellHeight = 25 // height of cells containing days of the weekvar dayColor = "darkblue" // color of font representing week daysvar cellHeight = 40 // height of cells representing dates in the calendarvar todayColor = "red" // color specifying today's date in the calendarvar timeColor = "purple" // color of font representing current time// create basic table structurevar text = "" // initialize accumulative variable to empty stringtext += '<CENTER>'text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>' // table settingstext += '<TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header celltext += '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table headertext += monthName + ' ' + year text += '</FONT>' // close table header's font settingstext += '</TH>' // close header cell// variables to hold constant settingsvar openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'openCol += '<FONT COLOR="' + dayColor + '">'var closeCol = '</FONT></TD>'// create array of abbreviated day namesvar 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 daytext += '<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 tablesvar digit = 1var curCell = 1for (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 (digit > lastDate)breakif (curCell < firstDay) {text += '<TD></TD>';curCell++} else {if (digit == date) { // current cell represent today's datetext += '<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>'} elsetext += '<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>'}text += '</TABLE>'text += '</CENTER>'document.write(text) }setCal()</script>
 
在线记事的 日历