HTML / Javascript - 如果日期在开始/结束日期之内,则显示DIV?

时间:2014-08-21 14:03:43

标签: javascript html show show-hide

我正在开展一个小型个人项目,如果我输入一个或多个div显示的日期(如果日期属于几个div日期范围,即开始/结束)

例如,如果我设置了两个考试:

  • 考试1 - 2014年5月5日至2014年8月20日之间
  • 考试2 - 2014年5月10日至2014年8月20日之间

如果我输入日期为15/05/2014 - 这应该显示两个div,例如包含学习指南等...

以下是我的代码: http://jsfiddle.net/oab1kfad/

<br/>Enter date you want to check(dd/mm/yyyy):
<input type="text" name="cDate" id="cDate" />
<input type="submit" value="Check" onclick="dateCheck();" />
<div id="Test1" style="display: none">
     <h3>           
         <input alt="Expand Section" onclick="Showhide('showhide_Test1')" /> Header test
     </h3>

    <div id="showhide_Test1" style="display: none">
        <div style="background-color: #C0F2EC"></div>
    </div>
</div>

JS:

var DOP_DATES = [ //div id      //start       //end
["Test1", "04/04/2013", "08/10/2015"],
    ["Test2", "12/12/2014", "01/03/2016"]

];
var NUM_DOP = 2;

function dateCheck() {

    var cDate;

    cDate = Date.parse(document.getElementById("cDate").value);

    var divID = DOP_DATES[i][0];
    var startDateArr = DOP_DATES[i][1].split("/");
    var endDateArr = DOP_DATES[i][2].split("/");
    var elem = document.getElementById(divID);
    var today = new Date();


    startDateArr[1]--;
    endDateArr[1]--;

    var startDate = cDate(startDateArr[2], startDateArr[1], startDateArr[0], 0, 0, 0, 0);
    var endDate = cDate(endDateArr[2], endDateArr[1], endDateArr[0], 0, 0, 0, 0);

    if ((cDate <= endDateArr && cDate >= startDateArr)) Show(elem);

}

function Show(elem) {
    elem.style.display = "block";
}

function Hide(elem) {
    elem.style.display = "none";
}

function Showhide(divID) {
    var elem = document.getElementById(divID);

    if (elem.style.display == "none") {
        Show(elem);
    } else {
        Hide(elem);
    }
}

正如您所看到的,没有抛出任何Javascrip错误代码。一旦检测到日期落在两个日期之间,我认为我缺少数组类型函数?

0 个答案:

没有答案