javascript日历。。。

效果:



[复制到剪切板]
CODE:
<Script LANGUAGE="JavaScript">
 var 
months = new Array("一""二""三","四""五""六""七""八""九","十""十一""十二");
 var 
daysInMonth = new Array(3128313031303131,30313031);
 var 
days = new Array("日","一""二""三","四""五""六");
 var 
classTemp;
 var 
today=new getToday();
 var 
year=today.year;
 var 
month=today.month;
 var 
newCal

 function 
getDays(monthyear) {
  if (
== month) return ((== year 4) && (!= (year 100))) ||(== 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();
 }

 function 
Calendar() {
  
newCal = new Date(year,month,1);
  
today = new getToday();   
  var 
day = -1;
  var 
startDay newCal.getDay();
  var 
endDay=getDays(newCal.getMonth(), newCal.getFullYear());
  var 
daily 0;
  if ((
today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
  {
   
day today.day;
  }
  var 
caltable document.all.caltable.tBodies.calendar;
  var 
intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

  for (var 
intWeek 0intWeek caltable.rows.length;intWeek++)
   for (var 
intDay 0;intDay caltable.rows[intWeek].cells.length;intDay++)
   {
    var 
cell caltable.rows[intWeek].cells[intDay];
    var 
montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);         
    if ((
intDay == startDay) && (== daily)){ daily 1;}
    var 
daytemp=daily<10?("0"+daily):(daily);
    var 
d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";
    if(
day==dailycell.className="DayNow";
   
// else if(intDay==6) cell.className = "DaySat";
    //else if (intDay==0) cell.className ="DaySun";
    //else cell.className="Day";
    
if ((daily 0) && (daily <= intDaysInMonth))
    {
     
cell.innerText daily;
     
daily++;
    } else
    {
   
//  cell.className="CalendarTD";
     
cell.innerText "";
    }
  }
  
document.all.year.value=year;
  
document.all.month.value=month+1;
 }

 function 
subMonth()
 {
  if ((
month-1)<0)
  {
   
month=11;
   
year=year-1;
  } else
  {
   
month=month-1;
  }
  
Calendar();
 }

 function 
addMonth()
 {
  if((
month+1)>11)
  {
   
month=0;
   
year=year+1;
  } else
  {
   
month=month+1;
  }
  
Calendar();
 }

 function 
setDate() 
 {
  if (
document.all.month.value<1||document.all.month.value>12)
  {
   
alert("月的有效范围在1-12之间!");
   return;
  }
  
year=Math.ceil(document.all.year.value);
  
month=Math.ceil(document.all.month.value-1);
  
Calendar();
 }
<\/
script>

<
Style>
Input {font-familyverdana;font-size9pt;text-decorationnone;background-color#FFFFFF;height: 20px;border: 1px solid #666666;color:#000000;}

.Calendar {font-familyverdana;text-decorationnone;width210height:180;font-size9pt;border:0px dotted #1C6FA5;}

.DayNow {font-familyverdana;font-size7pt;font-weightbold;color#000000; background-color:#F55C0A;height: 20px;text-align: center;}

</Style>


<
table border="0" cellpadding="0" cellspacing="1" class="Calendar" id="caltable" background="ril.jpg">
<
thead>
     <
tr align="center" valign="middle"
  <
td colspan="7" >
   <
a href="javaScript:subMonth();" title="上一月" Class="DayButton"><</a> <input name="year" type="text" size="4" maxlength="4" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')"  onpaste="this.value=this.value.replace(/[^0-9]/g,'')"年 <input name="month" type="text" size="1" maxlength="2" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')"  onpaste="this.value=this.value.replace(/[^0-9]/g,'')"月 <a href="JavaScript:addMonth();" title="下一月" Class="DayButton">></a>
  </
td>
 </
tr>
 <
tr align="center" valign="middle"
  <
Script LANGUAGE="JavaScript">  
   
document.write("<TD  id=diary >" days[0] + "</TD>"); 
   for (var 
intLoop 1intLoop days.length-1;intLoop++) 
    
document.write("<TD id=diary>" days[intLoop] + "</TD>"); 
    
document.write("<TD  id=diary>" days[intLoop] + "</TD>"); 
  <\/
script>
 </
TR
</
thead>
<
TBODY border=1 cellspacing="0" cellpadding="0" ID="calendar" ALIGN=CENTER >
 <
Script LANGUAGE="JavaScript">
  for (var 
intWeeks 0intWeeks 6intWeeks++)
  {
   
document.write("<TR style='cursor:hand'>");
   for (var 
intDays 0intDays days.length;intDays++) document.write("<TD  ></TD>");
   
document.write("</TR>");
  } 
 <\/
script>
</
TBODY>
</
TABLE>
<
Script  LANGUAGE="JavaScript">
 
Calendar();
<\/
script> ;

[ 本帖最后由 我不是鱼 于 2006-7-5 18:23 编辑 ]
如履薄冰