JAVASCRIPT初级阶段之万年历

来源:互联网 发布:手机错别字检查软件 编辑:程序博客网 时间:2024/06/06 20:11

不少人喜欢JAVASCRIPT,因为,他在网页里,发挥着无比强大的功效,让原本一潭死水般的页面生动活泼。来看看这些代码,希望对你有用。

  1. <script language=javascript>
  2. function settab()
  3. {
  4.     var tab=document.getElementById('tab1');
  5.     //alert(se1.options[se1.selectedIndex].text)
  6.     var se1se11=se1.options[se1.selectedIndex].text;
  7.     var se2se21=se2.options[se2.selectedIndex].text;//下拉列表中的日期
  8.     //alert(se11+","+se21)
  9.     var lastday=new Date(se11,se21,0).getDate();//所选择月的天数
  10.     var firstday=new Date(se11,se21-1,1).getDay();//选择月的第一天是星期几
  11.     //alert(lastday+","+firstday)
  12.     var weekend;//每周的最后一天的日期
  13.     var lines;//第几行,相对于表格,星期为第零行
  14.     //第一行日期
  15.     for(var lin1=0;lin1<7;lin1++)
  16.     {
  17.         if(lin1<firstday)
  18.             tab.rows[1].cells[lin1].innerHTML=" ";
  19.         else
  20.             tab.rows[1].cells[lin1].innerHTML=lin1-firstday+1;
  21.         //alert(lin1+","+firstday)
  22.         weekend=lin1-firstday+1;
  23.         lines=1;//第一行
  24.     }
  25.     //将最后2行值空之后再添加数据,以免遗留上一个月的数据,二行相对于非闰年的二月份
  26.     for(var i=0;i<7;i++)
  27.     {
  28.         tab.rows[5].cells[i].innerHTML=" ";
  29.         tab.rows[6].cells[i].innerHTML=" ";
  30.     }
  31.     while(weekend<lastday)//循环到月末
  32.     {
  33.         for(var lin2=0;lin2<7;lin2++)
  34.         {
  35.             if(weekend+lin2<lastday)//数字小于等于当前月的最后一天
  36.                 tab.rows[lines+1].cells[lin2].innerHTML=weekend+1+lin2;
  37.             else
  38.                 tab.rows[lines+1].cells[lin2].innerHTML=" ";       
  39.         }
  40.         weekend+=7;//周末再加7天     
  41.         lines+=1;//循环一次加一行
  42.     }
  43.     lastline="";
  44.     //var tab=document.getElementById('tab1');
  45.     var today=new Date();
  46.     var todaytoday1=today.getDate();
  47.     //如果选中的是本月,就要遍历,查找今天并设置为超链接格式
  48.     if(se1.selectedIndex==today.getYear()-1900&se2.selectedIndex==today.getMonth())
  49.     for(var i=1;i<7;i++)
  50.     {
  51.         for(var j=0;j<7;j++)
  52.         {
  53.             if(tab.rows[i].cells[j].innerHTML==today1)
  54.             {
  55.                 tab.rows[i].cells[j].innerHTML="<a href=# onClick='alerttoday()'>"+ today1 +"</a>"; 
  56.                 //alert(tab.rows[i].cells[j].innerHTML)
  57.             }           
  58.         }
  59.     }   
  60. }
  61. function setsel()
  62. {
  63.     //var se1=document.getElementById('se1');
  64.     //var se2=document.getElementById('se2');
  65.     //document.all.se2.options.length=12;   
  66.     for(var i=1900;i<2100;i++)
  67.     {
  68.         se1.options.add(new Option(i,i-1900));
  69.     }
  70.     for(var m=1;m<13;m++)
  71.     {
  72.         se2.options.add(new Option(m,m));
  73.     }
  74.     var today=new Date();//当前年月
  75.     se1.selectedIndex=today.getYear()-1900;
  76.     se2.selectedIndex=today.getMonth();//月份获取是0---11,与其索引相符
  77.     settab()
  78. }
  79. onload=setsel
  80. function monup()//下一月
  81. {   
  82.     if(se2.selectedIndex!=11)
  83.         se2.selectedIndex+=1
  84.     //alert(se2.selectedIndex)
  85.     settab()
  86. }
  87. function mondown()//上一月Line 71
  88. {   
  89.     if(se2.selectedIndex!=0)
  90.         se2.selectedIndex-=1
  91.     //alert(se2.selectedIndex)
  92.     settab()
  93. }
  94. function gettoday()//跳转到今天
  95. {
  96.     var tab=document.getElementById('tab1');
  97.     var today=new Date();
  98.     se1.selectedIndex=today.getYear()-1900;
  99.     se2.selectedIndex=today.getMonth();
  100.     settab();
  101. }
  102. function alerttoday()//今天的alert
  103. {
  104.     var today=new Date();
  105.     alert('今天是'+today.getYear()+'年'+today.getMonth()+'月'+today.getDate()+'日');//Line119
  106. }
  107. </script>
  108. <body>
  109. <br><br>
  110. <table border=0 id=tab1 align=center>
  111. <tr>
  112. <td><font color=red></font></td><td></td><td></td><td></td><td></td><td></td><td><font color=red></font></td>
  113. </tr>
  114. <tr>
  115. <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
  116. </tr>
  117. <tr>
  118. <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
  119. </tr>
  120. <tr>
  121. <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
  122. </tr>
  123. <tr>
  124. <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
  125. </tr>
  126. <tr>
  127. <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
  128. </tr>
  129. <tr>
  130. <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
  131. </tr>
  132. </table>
  133. <br><br>
  134. <select id='se1' onChange="settab()" align=center></select>
  135. <select id='se2' onchange="settab()"></select>
  136. <input id=btndown type=button onclick="mondown()" value=上一月>
  137. <input id=btnup type=button onclick="monup()" value=下一月>
  138. <input id=btntoday type=button onclick="gettoday()" value=今天>
  139. </body>
原创粉丝点击