一个非常精彩的日历程序

  • 作者:未知 来源:未知 添加时间:2006年7月2日 字体:

  • <HTML>

    <HEAD>

    <TITLE>博客日历</TITLE>

    <STYLE TYPE="text/css">

    <!--

    .normal{BACKGROUND: #ffffff}

    .today {font-weight:bold;BACKGROUND: #6699cc}

    .satday{color:green}

    .sunday{color:red}

    .days {font-weight:bold}

    -->

    </STYLE>

    <SCRIPT LANGUAGE="javascript">

    //中文月份,如果想显示英文月份,修改下面的注释

    /*var months = new Array("January?, "February?, "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");*/

    var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月","十月", "十一月", "十二月");

    var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

    //中文周 如果想显示 英文的,修改下面的注释

    /*var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");*/

    var days = new Array("日","一", "二", "三", "四", "五", "六");

    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();

    }



    today = new getToday();



    function newCalendar() {



    today = new getToday();

    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.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))

    day = today.day;

    var tableCal = document.all.calendar.tBodies.dayList;

    var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

    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) && (0 == daily))

    daily = 1;

    if(day==daily)

    //今天,调用今天的Class

    cell.className = "today";

    else if(intDay==6)

    //周六

    cell.className = "sunday";

    else if (intDay==0)

    //周日

    cell.className ="satday";

    else

    //平常

    cell.className="normal";

    if ((daily > 0) && (daily <= intDaysInMonth)){

      cell.innerText = daily;

      daily++;}

    else

      cell.innerText = "";

    }

    }



    function getDate() {

    var sDate;

    //这段代码处理鼠标点击的情况

    if ("TD" == event.srcElement.tagName)

      if ("" != event.srcElement.innerText){

       sDate = document.all.year.&#118alue + "年" + document.all.month.&#118alue + "月" + event.srcElement.innerText + "日";

       alert(sDate);

      }

    }

    </SCRIPT>

    </HEAD>



    <BODY Onload="newCalendar()" OnUnload="window.return&#118alue = document.all.ret.&#118alue;">

    <input type="hidden" name="ret">

    <TABLE cellpadding="3" cellspacing="1" bgcolor="#CCCCCC" ID="calendar">

    <THEAD>

    <TR>

    <TD COLSPAN=7 ALIGN=CENTER bgcolor="#0066CC">

    <SELECT ID="month" ONCHANGE="newCalendar()">

    <SCRIPT LANGUAGE="javascript">

    for (var intLoop = 0; intLoop < months.length; intLoop++)

    document.write("<OPTION &#118alue= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop]);

    </SCRIPT>

    </SELECT>



    <SELECT ID="year" ONCHANGE="newCalendar()">

    <SCRIPT LANGUAGE="javascript">

    for (var intLoop = today.year-50; intLoop < (today.year + 4); intLoop++)

    document.write("<OPTION &#118alue= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop);

    </SCRIPT>

    </SELECT>

    </TD>

    </TR>

    <TR CLASS="days">

    <SCRIPT LANGUAGE="javascript">

    document.write("<TD class=satday>" + days[0] + "</TD>");

    for (var intLoop = 1; intLoop < days.length-1; intLoop++)

    document.write("<TD>" + days[intLoop] + "</TD>");

    document.write("<TD class=sunday>" + days[intLoop] + "</TD>");

    </SCRIPT>

    </TR>

    </THEAD>

    <TBODY border=1 cellspacing="0" cellpadding="0" ID="dayList"ALIGN=CENTER &#111nCLICK="getDate()">

    <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></TD>");

    document.write("</TR>");

    }

    </SCRIPT>

    </TBODY>

    </TABLE>

    </BODY>

    </HTML>

  • 上一篇:利用static实现表格的颜色隔行显示
  • 下一篇:在Linux下安装PHP,APACHE,ORACLE,PERL的方法
  • 最后更新时间:2024年12月22日
  • 返回页面顶端
ppdesk