<SCRIPT language="JavaScript" type="text/javascript">
<!--
var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); 
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);  
var days = new Array("星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"); 
today = new Date(); 
//判断2月是不是闰月天数时28还是29 
function get_Days(month, year) 

if (month == 1) 
return ((year % 4 == 0) && ((year % 100) != 0 )) || (year % 400 == 0 ) ? 29 : 28;
else 
return daysInMonth[month]; 
} function newCalendar() 

//日历中的日期
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.getYear() == newCal.getYear()) &&(today.getMonth() == newCal.getMonth()))  
day = today.getDate(); 
var tableCal = document.all.calendar.tBodies.dayList; 
var intDaysInMonth =get_Days(newCal.getMonth(), newCal.getYear());
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) && (daily == 0)) 
daily = 1; 
if(day==daily) 
cell.className = "today"; 
else if(intDay==6) 
cell.className = "satday"; 
else if (intDay==0) 
cell.className ="sunday";  
else 
cell.className="normal";   if ((daily > 0) && (daily <= intDaysInMonth))   

cell.innerText = daily; 
daily++; 

else 
cell.innerText = ""; 


//-->
</SCRIPT>

解决方案 »

  1.   

    //日历中的日期
    var parseYear = parseInt(document.all.year[document.all.year.selectedIndex].text);  
    var newCal = new Date(parseYear,document.all.month.selectedIndex, 1);  这两句不懂
    还有这个for循环看不懂
    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) && (daily == 0))  
    daily = 1;  
    if(day==daily)  
    cell.className = "today";  
    else if(intDay==6)  
    cell.className = "satday";  
    else if (intDay==0)  
    cell.className ="sunday";   
    else  
    cell.className="normal";   if ((daily > 0) && (daily <= intDaysInMonth))   
    {  
    cell.innerText = daily;  
    daily++;  
    }  
    else  
    cell.innerText = "";  
    }  
    }  
      

  2.   

    //日历中的日期
    //把年份转换成整形,'2010'转换成2010
    var parseYear = parseInt(document.all.year[document.all.year.selectedIndex].text);
    //格式化日期对象new Date(yeah,month,day);   
    var newCal = new Date(parseYear,document.all.month.selectedIndex, 1); 这两句不懂
    还有这个for循环看不懂
    //嵌套循环,先循环行,也就是周
    for (var intWeek = 0; intWeek < tableCal.rows.length;intWeek++)
    //在循环单元格,也就是一周的7天
    for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++)