一个非常精彩的日历程序
时间:2007-02-17 来源:PHP爱好者
豆腐制作 都是精品
http://www.ASP888.net 豆腐技术站 我们经常需要的一些Web项目中用到日历,这样的脚本写起来又麻烦,功能又不够强大,现在豆腐给大家
提供一个功能强大的日历程序,这段脚本使用完全的客户端的js脚本制作,运行速度快。
下面大家就来看看,还有什么需要改进的地方,先看看效果再说吧!日历演示
<HTML>
<HEAD>
<TITLE>豆腐日历</TITLE>
<!-- 请不要删除这段版权信息 -->
<!--
豆腐制作 都是精品
http://www.ASP888.net 豆腐技术站
-->
<STYLE TYPE="text/CSS">
.normal{BACKGROUND: #ffffff}
.today {font-weight:bold;BACKGROUND: #6699cc}
.satday{color:green}
.sunday{color:red}
.days {font-weight:bold}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
//中文月份,如果想显示英文月份,修改下面的注释
/*var months = new Array("January?, "February?, "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December");*/
var months = new Array("一月", "二月", "三月",
"四月", "五月", "六月", "七月", "八月", "九月",
"十月", "十一月", "十二月");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,
30, 31, 30, 31);
//中文周 如果想显示 英文的,修改下面的注释
/*var days = new Array("Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday");*/
var days = new Array("日","一", "二", "三",
"四", "五", "六");
function getDays(month, year) {
//下面的这段代码是判断当前是否是闰年的
if (1 == month)
return ((0 == year % 4) && (0 != (year % 100))) ||
(0 == year % 400) ? 29 : 28;
else
return daysInMonth[month];
} function getToday() {
//得到今天的年,月,日
this.now = new Date();
this.year = this.now.getFullYear();
this.month = this.now.getMonth();
this.day = this.now.getDate();
}
today = new getToday(); function newCalendar() { today = new getToday();
var parseYear = parseInt(document.all.year
[document.all.year.selectedIndex].text);
var newCal = new Date(parseYear,
document.all.month.selectedIndex, 1);
var day = -1;
var startDay = newCal.getDay();
var daily = 0;
if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
day = today.day;
var tableCal = document.all.calendar.tBodies.dayList;
var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
for (var intWeek = 0; intWeek <tableCal.rows.length;intWeek )
for (var intDay = 0;intDay <tableCal.rows[intWeek].cells.length;intDay )
{
var cell = tableCal.rows[intWeek].cells[intDay];
if ((intDay == startDay) && (0 == daily))
daily = 1;
if(day==daily)
//今天,调用今天的Class
cell.className = "today";
else if(intDay==6)
//周六
cell.className = "sunday";
else if (intDay==0)
//周日
cell.className ="satday";
else
//平常
cell.className="normal"; if ((daily > 0) && (daily <= intDaysInMonth))
{
cell.innerText = daily;
daily ;
}
else
cell.innerText = "";
}
} function getDate() {
var sDate;
//这段代码处理鼠标点击的情况
if ("TD" == event.srcElement.tagName)
if ("" != event.srcElement.innerText)
{
sDate = document.all.year.value "年" document.all.month.value "月" event.srcElement.innerText "日";
alert(sDate);
}
}
</SCRIPT>
</HEAD>
<BODY ONLOAD="newCalendar()" OnUnload="window.returnValue = document.all.ret.value;">
豆腐制作,都是精品
<br>
<a href="http://www.ASP888.net" targer=_blank>豆腐技术站</a>为大家提供最新最好的技术
<input type="hidden" name="ret">
<TABLE ID="calendar" cellspacing="0" cellpadding="0">
<THEAD>
<TR>
<TD COLSPAN=7 ALIGN=CENTER>
<select ID="month" ONCHANGE="newCalendar()">
<SCRIPT LANGUAGE="JavaScript">
for (var intLoop = 0; intLoop <months.length;
intLoop )
document.write("<OPTION VALUE= " (intLoop 1) " "
(today.month == intLoop ?
"Selected" : "") ">"
months[intLoop]);
</SCRIPT>
</SELECT> <select ID="year" ONCHANGE="newCalendar()">
<SCRIPT LANGUAGE="JavaScript">
for (var intLoop = today.year-50; intLoop <(today.year 4);
intLoop )
document.write("<OPTION VALUE= " intLoop " "
(today.year == intLoop ?
"Selected" : "") ">"
intLoop);
</SCRIPT>
</SELECT>
</TD>
</TR>
<TR CLASS="days">
<SCRIPT LANGUAGE="JavaScript"> document.write("<TD class=satday>" days[0] "</TD>");
for (var intLoop = 1; intLoop <days.length-1;
intLoop )
document.write("<TD>" days[intLoop] "</TD>");
document.write("<TD class=sunday>" days[intLoop] "</TD>");
</SCRIPT>
</TR>
</THEAD>
<TBODY border=1 cellspacing="0" cellpadding="0" ID="dayList"ALIGN=CENTER ONCLICK="getDate()">
<SCRIPT LANGUAGE="JavaScript">
for (var intWeeks = 0; intWeeks <6; intWeeks ) {
document.write("<TR style='cursor:hand'>");
for (var intDays = 0; intDays <days.length;
intDays )
document.write("<TD></TD>");
document.write("</TR>");
}
</SCRIPT>
</TBODY>
</TABLE>
<center><Input Style="width:50pt" type=button value="Cancel" OnClick="Cancel();"></center>
</BODY>
</HTML> <Script Language="JavaScript1.2"> function Cancel() {
document.all.ret.value = "";
window.close();
} </script>
php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
http://www.ASP888.net 豆腐技术站 我们经常需要的一些Web项目中用到日历,这样的脚本写起来又麻烦,功能又不够强大,现在豆腐给大家
提供一个功能强大的日历程序,这段脚本使用完全的客户端的js脚本制作,运行速度快。
下面大家就来看看,还有什么需要改进的地方,先看看效果再说吧!日历演示
<HTML>
<HEAD>
<TITLE>豆腐日历</TITLE>
<!-- 请不要删除这段版权信息 -->
<!--
豆腐制作 都是精品
http://www.ASP888.net 豆腐技术站
-->
<STYLE TYPE="text/CSS">
.normal{BACKGROUND: #ffffff}
.today {font-weight:bold;BACKGROUND: #6699cc}
.satday{color:green}
.sunday{color:red}
.days {font-weight:bold}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
//中文月份,如果想显示英文月份,修改下面的注释
/*var months = new Array("January?, "February?, "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December");*/
var months = new Array("一月", "二月", "三月",
"四月", "五月", "六月", "七月", "八月", "九月",
"十月", "十一月", "十二月");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,
30, 31, 30, 31);
//中文周 如果想显示 英文的,修改下面的注释
/*var days = new Array("Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday");*/
var days = new Array("日","一", "二", "三",
"四", "五", "六");
function getDays(month, year) {
//下面的这段代码是判断当前是否是闰年的
if (1 == month)
return ((0 == year % 4) && (0 != (year % 100))) ||
(0 == year % 400) ? 29 : 28;
else
return daysInMonth[month];
} function getToday() {
//得到今天的年,月,日
this.now = new Date();
this.year = this.now.getFullYear();
this.month = this.now.getMonth();
this.day = this.now.getDate();
}
today = new getToday(); function newCalendar() { today = new getToday();
var parseYear = parseInt(document.all.year
[document.all.year.selectedIndex].text);
var newCal = new Date(parseYear,
document.all.month.selectedIndex, 1);
var day = -1;
var startDay = newCal.getDay();
var daily = 0;
if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
day = today.day;
var tableCal = document.all.calendar.tBodies.dayList;
var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
for (var intWeek = 0; intWeek <tableCal.rows.length;intWeek )
for (var intDay = 0;intDay <tableCal.rows[intWeek].cells.length;intDay )
{
var cell = tableCal.rows[intWeek].cells[intDay];
if ((intDay == startDay) && (0 == daily))
daily = 1;
if(day==daily)
//今天,调用今天的Class
cell.className = "today";
else if(intDay==6)
//周六
cell.className = "sunday";
else if (intDay==0)
//周日
cell.className ="satday";
else
//平常
cell.className="normal"; if ((daily > 0) && (daily <= intDaysInMonth))
{
cell.innerText = daily;
daily ;
}
else
cell.innerText = "";
}
} function getDate() {
var sDate;
//这段代码处理鼠标点击的情况
if ("TD" == event.srcElement.tagName)
if ("" != event.srcElement.innerText)
{
sDate = document.all.year.value "年" document.all.month.value "月" event.srcElement.innerText "日";
alert(sDate);
}
}
</SCRIPT>
</HEAD>
<BODY ONLOAD="newCalendar()" OnUnload="window.returnValue = document.all.ret.value;">
豆腐制作,都是精品
<br>
<a href="http://www.ASP888.net" targer=_blank>豆腐技术站</a>为大家提供最新最好的技术
<input type="hidden" name="ret">
<TABLE ID="calendar" cellspacing="0" cellpadding="0">
<THEAD>
<TR>
<TD COLSPAN=7 ALIGN=CENTER>
<select ID="month" ONCHANGE="newCalendar()">
<SCRIPT LANGUAGE="JavaScript">
for (var intLoop = 0; intLoop <months.length;
intLoop )
document.write("<OPTION VALUE= " (intLoop 1) " "
(today.month == intLoop ?
"Selected" : "") ">"
months[intLoop]);
</SCRIPT>
</SELECT> <select ID="year" ONCHANGE="newCalendar()">
<SCRIPT LANGUAGE="JavaScript">
for (var intLoop = today.year-50; intLoop <(today.year 4);
intLoop )
document.write("<OPTION VALUE= " intLoop " "
(today.year == intLoop ?
"Selected" : "") ">"
intLoop);
</SCRIPT>
</SELECT>
</TD>
</TR>
<TR CLASS="days">
<SCRIPT LANGUAGE="JavaScript"> document.write("<TD class=satday>" days[0] "</TD>");
for (var intLoop = 1; intLoop <days.length-1;
intLoop )
document.write("<TD>" days[intLoop] "</TD>");
document.write("<TD class=sunday>" days[intLoop] "</TD>");
</SCRIPT>
</TR>
</THEAD>
<TBODY border=1 cellspacing="0" cellpadding="0" ID="dayList"ALIGN=CENTER ONCLICK="getDate()">
<SCRIPT LANGUAGE="JavaScript">
for (var intWeeks = 0; intWeeks <6; intWeeks ) {
document.write("<TR style='cursor:hand'>");
for (var intDays = 0; intDays <days.length;
intDays )
document.write("<TD></TD>");
document.write("</TR>");
}
</SCRIPT>
</TBODY>
</TABLE>
<center><Input Style="width:50pt" type=button value="Cancel" OnClick="Cancel();"></center>
</BODY>
</HTML> <Script Language="JavaScript1.2"> function Cancel() {
document.all.ret.value = "";
window.close();
} </script>
php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
相关阅读 更多 +