0

如何修复此日历?我真的很困惑制作后退按钮和制作日历表格参考,我必须每月更改“RsT”数字以等同于一个月的开始日?

注意:
- RsT:日历开始位置编号。
- mt:月数。
- dy:今天的
日期 - maxDate:月份的结束日期。
- newMth() 函数:构建日历。
- onBtnPress(i) 函数:按钮响应。
- aD:(第一个日期 - 1),实际上 = 0。
- CnT/CtX:用于计数。
- 它[]:元素 ID。
- mm[]:月份名称。

<HTML><HEAD>
<TITLE>Kalender Digital</TITLE>
<HTA:APPLICATION
APPLICATIONNAME="Calendar"
VERSION="1.0.2.1"
BORDER="THICK"
INNERBORDER="NO"
MAXIMIZEBUTTON="NO"
SCROLL="NO"
SINGLEINSTANCE="YES"
CONTEXTMENU="NO"
SELECTION="NO"/>
<STYLE TYPE='TEXT/CSS'>
TABLE{width:702px;height:350px;}
TD{font-family:arial;font-weight:bold;width:100px;height:50px;font-size:12pt;}
.header{font-family:arial;font-weight:bold;height:50px;font-size:26pt;color:orange;}
TD.dy{color:blue;}
TD.jm{color:green;}
TD.mg{color:red;}
BUTTON{width:100%;height:100%;cursor:pointer;}
</STYLE><META HTTP-EQUIV='MSThemeCompatible' CONTENT='YES'></HEAD>
<BODY TOPMARGIN='0' LEFTMARGIN='0'>
<TABLE BGCOLOR='#FFFFFF' BORDER='1' BORDERCOLOR='#000000' CELLSPACING='0px' CELLPADDING='0px' TABINDEX='0'>
<TR ALIGN='CENTER'><TD CLASS='header' COLSPAN='4' ID='dtl' STYLE='WIDTH:400px'></TD><TD COLSPAN='1'><BUTTON LANGUAGE='JavaScript' ONCLICK='onBtnPress(1)'>&lt;&lt;</BUTTON></TD><TD COLSPAN='1'><BUTTON>Today</BUTTON></TD><TD COLSPAN='1'><BUTTON LANGUAGE='JavaScript' ONCLICK='onBtnPress(0)'>&gt;&gt;</BUTTON></TD></TR>
<TR ALIGN='CENTER'><TD CLASS='dy'>Monday</TD><TD CLASS='dy'>Tuesday</TD><TD CLASS='dy'>Wednesday</TD><TD CLASS='dy'>Thursday</TD><TD CLASS='jm'>Friday</TD><TD CLASS='dy'>Saturday</TD><TD CLASS='mg'>Sunday</TD></TR>
<TR ALIGN='CENTER'><TD ID='aa' CLASS='dy'>-</TD><TD ID='ab' CLASS='dy'>-</TD><TD ID='ac' CLASS='dy'>-</TD><TD ID='ad' CLASS='dy'>-</TD><TD ID='ae' CLASS='jm'>-</TD><TD ID='af' CLASS='dy'>-</TD><TD ID='ag' CLASS='mg'>-</TD></TR>
<TR ALIGN='CENTER'><TD ID='ba' CLASS='dy'>-</TD><TD ID='bb' CLASS='dy'>-</TD><TD ID='bc' CLASS='dy'>-</TD><TD ID='bd' CLASS='dy'>-</TD><TD ID='be' CLASS='jm'>-</TD><TD ID='bf' CLASS='dy'>-</TD><TD ID='bg' CLASS='mg'>-</TD></TR>
<TR ALIGN='CENTER'><TD ID='ca' CLASS='dy'>-</TD><TD ID='cb' CLASS='dy'>-</TD><TD ID='cc' CLASS='dy'>-</TD><TD ID='cd' CLASS='dy'>-</TD><TD ID='ce' CLASS='jm'>-</TD><TD ID='cf' CLASS='dy'>-</TD><TD ID='cg' CLASS='mg'>-</TD></TR>
<TR ALIGN='CENTER'><TD ID='da' CLASS='dy'>-</TD><TD ID='db' CLASS='dy'>-</TD><TD ID='dc' CLASS='dy'>-</TD><TD ID='dd' CLASS='dy'>-</TD><TD ID='de' CLASS='jm'>-</TD><TD ID='df' CLASS='dy'>-</TD><TD ID='dg' CLASS='mg'>-</TD></TR>
<TR ALIGN='CENTER'><TD ID='ea' CLASS='dy'>-</TD><TD ID='eb' CLASS='dy'>-</TD><TD ID='ec' CLASS='dy'>-</TD><TD ID='ed' CLASS='dy'>-</TD><TD ID='ee' CLASS='jm'>-</TD><TD ID='ef' CLASS='dy'>-</TD><TD ID='eg' CLASS='mg'>-</TD></TR>
<TR ALIGN='CENTER'><TD ID='fa' CLASS='dy'>-</TD><TD ID='fb' CLASS='dy'>-</TD><TD ID='fc' CLASS='dy'>-</TD><TD ID='fd' CLASS='dy'>-</TD><TD ID='fe' CLASS='jm'>-</TD><TD ID='ff' CLASS='dy'>-</TD><TD ID='fg' CLASS='mg'>-</TD></TR>
</TABLE></BODY>
<SCRIPT LANGUAGE='JavaScript'>
dt = new Date()
it = ["aa", "ab", "ac", "ad", "ae", "af", "ag", "ba", "bb", "bc", "bd", "be", "bf", "bg", "ca", "cb", "cc", "cd", "ce", "cf", "cg", "da", "db", "dc", "dd", "de", "df", "dg", "ea", "eb", "ec", "ed", "ee", "ef", "eg", "fa", "fb", "fc", "fd", "fe", "ff", "fg"];
mm = ["January", "February", "March", "April", "May", "June", "July", "Agust", "September", "October", "November", "December"];
var mt = dt.getMonth();
var yr = dt.getFullYear();
dtl.innerHTML = mm[mt] + "&nbsp;&nbsp;" + yr
var RsT = 2;
var CnT = 0;
var aD = 0;
newMth();
function newMth () {
    var d2 = new Date(yr, (mt + 1), aD);
    maxDate = d2.getDate()
    while (CnT < maxDate) {
    aD = (aD + 1);
    RsT = (RsT+1)
    document.getElementById(it[RsT]).innerHTML = aD;
    CnT = (CnT + 1)};
}
function onBtnPress (i) {
    CnT = 0;
    aD = 0;
    CtX = 0;
    if (i == 0) {
    RsC = 28;
    while (document.getElementById(it[RsC]).innerHTML != "-" & RsC <= 41) {
        RsC = (RsC+1);
    }
    if (RsC < 35) {
        RsC = (RsC - 28)
    } else {
        RsC=(RsC-35)
    }
    RsT = (6 - (7 - RsC));
    if (mt <= 10) {
        mt = (mt + 1)
    } else {
        mt=0;yr=(yr+1);
    }
    } else if (i==1) {
        if (mt > 0) {
            mt = (mt - 1)
        } else {
            mt = 11;
            yr = (yr - 1);
        }
    }
    while (CtX < 41) {
        document.getElementById(it[CtX]).innerHTML = "-";
        CtX = (CtX + 1);
    }
    newMth();
    dtl.innerHTML = mm[mt] + "&nbsp;" + yr
}
</SCRIPT>
</HTML>
4

1 回答 1

1

本月的第一天是:

new Date('date_of_1st_day_of_some_month_in_some_year').getDay();

这将返回一个日期名称索引(星期日 == 0,星期一 == 1,...)。有了这些信息,应该很容易在月初循环遍历“空”天。

仅供参考,您可以通过添加<!DOCTYPE html>为文档的第一行来为您的 HTA 添加 HTML5 支持,然后<meta http-equiv="x-ua-compatible" content="ie=9" />title. 所有样式表和指向它们的链接都应该在此之后meta

于 2012-11-16T06:27:15.277 回答