一个非常精彩的日历程序

80酷酷网    80kuku.com

  >

我们经常需要的一些Web项目中用到日历,这样的脚本写起来又麻烦,功能又不够强大,现在豆腐给大家
提供一个功能强大的日历程序,这段脚本使用完全的客户端的js脚本制作,运行速度快。
下面大家就来看看,还有什么需要改进的地方,先看看效果再说吧!日历演示
<HTML>
<HEAD>
<TITLE>豆腐日历</TITLE>
<!--请不要删除这段版权信息-->
<!--
豆腐制作都是精品
http://www.asp888.net豆腐技术站
-->
<STYLETYPE="text/css">
.normal{BACKGROUND:#ffffff}
.today{font-weight:bold;BACKGROUND:#6699cc}
.satday{color:green}
.sunday{color:red}
.days{font-weight:bold}
</STYLE>
<SCRIPTLANGUAGE="JavaScript">
//中文月份,如果想显示英文月份,修改下面的注释
/*varmonths=newArray("January?,"February?,"March",
"April","May","June","July","August","September",
"October","November","December");*/
varmonths=newArray("一月","二月","三月",
"四月","五月","六月","七月","八月","九月",
"十月","十一月","十二月");
vardaysInMonth=newArray(31,28,31,30,31,30,31,31,
30,31,30,31);
//中文周如果想显示英文的,修改下面的注释
/*vardays=newArray("Sunday","Monday","Tuesday",
"Wednesday","Thursday","Friday","Saturday");*/
vardays=newArray("日","一","二","三",
"四","五","六");
functiongetDays(month,year){
//下面的这段代码是判断当前是否是闰年的
if(1==month)
return((0==year%4)&&(0!=(year%100)))||
(0==year%400)?29:28;
else
returndaysInMonth[month];
}

functiongetToday(){
//得到今天的年,月,日
this.now=newDate();
this.year=this.now.getFullYear();
this.month=this.now.getMonth();
this.day=this.now.getDate();
}

today=newgetToday();

functionnewCalendar(){

today=newgetToday();
varparseYear=parseInt(document.all.year
[document.all.year.selectedIndex].text);
varnewCal=newDate(parseYear,
document.all.month.selectedIndex,1);
varday=-1;
varstartDay=newCal.getDay();
vardaily=0;
if((today.year==newCal.getFullYear())&&(today.month==newCal.getMonth()))
day=today.day;
vartableCal=document.all.calendar.tBodies.dayList;
varintDaysInMonth=getDays(newCal.getMonth(),newCal.getFullYear());
for(varintWeek=0;intWeek<tableCal.rows.length;intWeek++)
for(varintDay=0;intDay<tableCal.rows[intWeek].cells.length;intDay++)
{
varcell=tableCal.rows[intWeek].cells[intDay];
if((intDay==startDay)&&(0==daily))
daily=1;
if(day==daily)
//今天,调用今天的Class
cell.className="today";
elseif(intDay==6)
//周六
cell.className="sunday";
elseif(intDay==0)
//周日
cell.className="satday";
else
//平常
cell.className="normal";

if((daily>0)&&(daily<=intDaysInMonth))
{
cell.innerText=daily;
daily++;
}
else
cell.innerText="";
}
}

functiongetDate(){
varsDate;
//这段代码处理鼠标点击的情况
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>
豆腐制作,都是精品


<ahref="http://www.asp888.net"targer=_blank>豆腐技术站</a>为大家提供最新最好的技术
<inputtype="hidden"name="ret">
<TABLEID="calendar"cellspacing="0"cellpadding="0">
<THEAD>
<TR>
<TDCOLSPAN=7ALIGN=CENTER>
<SELECTID="month">
<SCRIPTLANGUAGE="JavaScript">
for(varintLoop=0;intLoop<months.length;
intLoop++)
document.write("<OPTIONVALUE="+(intLoop+1)+""+
(today.month==intLoop?
"Selected":"")+">"+
months[intLoop]);
</SCRIPT>
</SELECT>

<SELECTID="year">
<SCRIPTLANGUAGE="JavaScript">
for(varintLoop=today.year-50;intLoop<(today.year+4);
intLoop++)
document.write("<OPTIONVALUE="+intLoop+""+
(today.year==intLoop?
"Selected":"")+">"+
intLoop);
</SCRIPT>
</SELECT>
</TD>
</TR>
<TRCLASS="days">
<SCRIPTLANGUAGE="JavaScript">

document.write("<TDclass=satday>"+days[0]+"</TD>");
for(varintLoop=1;intLoop<days.length-1;
intLoop++)
document.write("<TD>"+days[intLoop]+"</TD>");
document.write("<TDclass=sunday>"+days[intLoop]+"</TD>");
</SCRIPT>
</TR>
</THEAD>
<TBODYborder=1cellspacing="0"cellpadding="0"ID="dayList"ALIGN=CENTER>
<SCRIPTLANGUAGE="JavaScript">
for(varintWeeks=0;intWeeks<6;intWeeks++){
document.write("<TR>for(varintDays=0;intDays<days.length;
intDays++)
document.write("<TD></TD>");
document.write("</TR>");
}
</SCRIPT>
</TBODY>
</TABLE>
<center><Input></BODY>
</HTML>

<ScriptLanguage="JavaScript1.2">

functionCancel(){
document.all.ret.value="";
window.close();
}

</script>

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: