日曆

<!-- Blog日曆表開始 -->
<SCRIPT language=javascript>
var diarydays="<2004-09-26><2004-09-25><2004-09-24><2004-09-23><2004-09-22><2004-09-17><2004-09-16><2004-09-15><2004-09-14><2004-09-05><2004-09-02><2004-09-01><2004-08-30><2004-08-26><2004-08-25><2004-08-21><2004-08-20><2004-08-19><2004-08-16><2004-08-15><2004-08-13><2004-08-12><2004-08-11><2004-08-10><2004-08-07><2004-08-04><2004-08-02><2004-08-01><2004-07-30><2004-07-29><2004-07-28><2004-07-26><2004-07-25><2004-07-24><2004-07-22><2004-07-21><2004-07-20><2004-07-19><2004-07-17><2004-07-16>";
  </SCRIPT>


<SCRIPT language=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("日","一", "二", "三","四", "五", "六");
var classTemp;
var calendarHover="calendarHover";
var today=new getToday();
var year=today.year;
var month=today.month;
var newCal;
//得到某月天數
function getDays(month, year)
{ if (1 == month)
     return ((0 == year % 4) && (0 != (year % 100))) ||(0 == 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 = 0; intWeek < 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) && (0 == daily)){ daily = 1;}
      var daytemp=daily<10?("0"+daily):(daily);
      var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";
   //選擇樣式
      if(day==daily)
      cell.className="calendarNow";
      else if(diarydays.indexOf(d)!=-1)
         cell.className="calendarLink";
      else if(intDay==6)
      cell.className = "calendarDaySat";
      else if (intDay==0)
      cell.className ="calendarDaySun";
      else
      cell.className="calendarTd";
   //生成值
      if ((daily > 0) && (daily <= intDaysInMonth)) 
      {  cell.innerText = daily;
         daily++;
      }
      else
        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 getDiary()
{
  var mon=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);
  var day=event.srcElement.innerText<10?("0"+event.srcElement.innerText):(event.srcElement.innerText);
  var d="<"+newCal.getFullYear()+"-"+mon+"-"+day+">";
  if ("TD" == event.srcElement.tagName)
  if (("" != event.srcElement.innerText)&&(diarydays.indexOf(d)!=-1))
  {
   diary.location="/driftingice/archive/"+newCal.getFullYear()+"/"+mon+"/"+day+".aspx";
   window.location.href = diary.location;
  }
}

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>
<TABLE class=calendarBigBorder id=caltable cellSpacing=1 cellPadding=0 width=185
border=0>
  <THEAD>
  <TR vAlign=center align=middle>
    <TD class=calendarMonthTitle colSpan=7><INPUT class=calendarYInput
      οnpaste="this.value=this.value.replace(/[^0-9]/g,'')"
      οnkeydοwn="if (event.keyCode==13){setDate()}"
      οnkeyup="this.value=this.value.replace(/[^0-9]/g,'')" maxLength=4 size=3
      name=year>年 <INPUT class=calendarMInput
      οnpaste="this.value=this.value.replace(/[^0-9]/g,'')"
      οnkeydοwn="if (event.keyCode==13){setDate()}"
      οnkeyup="this.value=this.value.replace(/[^0-9]/g,'')" maxLength=2 size=1
      name=month>月

<!--[<font οnclick=addMonth()>下月</font>] [<font
      οnclick=subMonth() >上月</font>]-->


</TD></TR>
  <TR vAlign=center align=middle>
    <SCRIPT language=JavaScript>  
 document.write("<TD class=calendarDaySun id=diary>" + days[0] + "</TD>");
 for (var intLoop = 1; intLoop < days.length-1;
 intLoop++)
 document.write("<TD class=calendarTd id=diary>" + days[intLoop] + "</TD>");
 document.write("<TD class=calendarDaySat id=diary>" + days[intLoop] + "</TD>");
 </SCRIPT>
  </TR></THEAD>
  <TBODY οnmοuseup=document.selection.empty() οncοntextmenu="return false"
  onselectstart="return false" id=calendar οndragstart="return false"
  onbeforecopy="return false" οnclick=getDiary()
  οncοpy=document.selection.empty() align=middle
  οnselect="document.selection.empty()" cellpadding="0" cellspacing="0"
  border="1">
  <SCRIPT language=JavaScript>
  for (var intWeeks = 0; intWeeks < 6; intWeeks++) {
  document.write("<TR style='cursor:hand'>");
  for (var intDays = 0; intDays < days.length;intDays++)
  document.write("<TD class=calendarTd onMouseover='{classTemp=this.className;this.className=calendarHover}' onMouseOut='this.className=classTemp'></TD>");
  document.write("</TR>");
  } 
 </SCRIPT>
</TBODY></TABLE>
<SCRIPT language=JavaScript>
Calendar();
</SCRIPT>
<!-- Blog日曆表結束 -->

發佈了144 篇原創文章 · 獲贊 6 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章