您好,您能否给我看一下我的这个程序。谢谢!
您好,您能否给我看一下我的这个程序。谢谢!
我有一个日历提醒的源程序,当点击每一天时,可以输入今天需要提醒的内容,
我想问的是如何当我改变系统日期和时间时,它会自动的给与提示当天需要提
示的内容。这个输出的函数怎么写呢?谢谢您的帮助。
以下是我的源程序。
<script LANGUAGE= "JavaScript ">
<!--
var caution = false
function 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 = curCookie
else
if (confirm( "Cookie exceeds 4KB and will be cut! "))
document.cookie = curCookie
}
// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
var prefix = name + "= "
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf( "; ", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function 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 "
}
}
function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
date.setTime(date.getTime() - skew)
}
function initCookie(monthName) {
var 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 future
now.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) + 1
if (num == 31)
var endData = totalCookie.length
else
var 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) + 1
if (num == 31)
var endData = totalCookie.length
else
var endData = totalCookie.indexOf( "^ ", startData)
var now = new Date()
fixDate(now)
// set time to one month (31 days) in the future
now.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( "今天要提醒的事为: ", getSpecificReminder(num, monthName))
if (newValue) // user did not cancel
setSpecificReminder(num, monthName, newValue)
}
function getTime() {
// initialize time-related variables with current time settings
var now = new Date()
var hour = now.getHours()
var minute = now.getMinutes()
now = null
var ampm = " "
// validate hour valuesand set value of ampm
if (hour > = 12) {
hour -= 12
ampm = "PM "
} else
ampm = "AM "
hour = (hour == 0) ? 12 : hour
// add zero digit to a one digit minute
if (minute < 10)
minute = "0 " + minute // do not parse this number!
// return time string
return hour + ": " + minute + " " + ampm
}
function leapYear(year) {
if (year % 4 == 0) // basic rule
return true // is leap year
return false // is not leap year
}
[解决办法]
very difficulty