显示成一个table,分为3行,年一行,对应的一年的月一行,对应的每个月的天一行,

解决方案 »

  1.   

    动态的显示啊,还要画出table来
      

  2.   

    你说的(如以下代码的效果),可能不是你想要的。
    -------------
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>New Page 1</title>
    </head><body>
    <input type=button value="生成日历" onclick="testFun(2007,2010)">
    <div id="clandarDiv" style="width:500px;height:120px;overflow-x:auto;"></div>
    </body></html>
    <script>
    function testFun(fromYear,toYear){
    var strA=new Array();
    var strAY=new Array();
    var strAM=new Array();
    var strAD=new Array();
    for(var i=fromYear;i<toYear+1;i++){
    var yearDays=(new Date(i+1,1,1)-new Date(i,1,1))/3600000/24;
    strAY[strAY.length]="<td colspan='"+yearDays + "'>"+i+"年</td>";
        for(var j=1;j<13;j++){
         var monthDays=(new Date(i,j,0)).getDate();
    strAM[strAM.length]="<td colspan='"+monthDays + "'>"+i+"年"+j+"月</td>";
    for(var k=1;k<=monthDays;k++)
    strAD[strAD.length]=k;
    }
    }
    strA[0]="<table border=1><tr>";
    strA[1]=strAY.join("");
    strA[2]="</tr><tr>";
    strA[3]=strAM.join("");
    strA[4]="</tr><tr><td>";
    strA[5]=strAD.join("</td><td>");
    strA[6]="</td></tr></table>";
    strA[strA.length]="</tr><tr>";
    document.getElementById("clandarDiv").innerHTML=strA.join("");
    }
    </script>