0

“前几天我发布了一个类似的问题,感谢@Alnitak 的帮助!但是,我正在尝试在 2 个给定时间之间启用/禁用/启用 2 个链接(a href)并收到“需要对象”错误。就像id 使用失去焦点。page_load 函数通过 onload 调用。nStart & nExpired 相等的开始和结束时间,我使用 SetInterval 而不是 setTimeout(我修改了 Alnitak 的代码)。

如果这些是按钮或者我可以使用 PHP,我不会有问题,但是“权力”会通过超链接获得它。请告诉我这是可能的..大声笑

错误发生在第二个 IF 条件的第一行,即使链接可见。

var myInterval;

function page_load() {
    myInterval = setInterval(function(){ShowLink()},60000);
}

function ShowLink() {
    var now = new Date();
    var clock = now.toTimeString();
    var nStart = 1310;
    var nExpired = 1312;
    var MigTime = 60 * now.getHours() + now.getMinutes();

    var disable = (day === 0 && (MigTime >= nStart && MigTime < nExpired));
    if (disable == true) {
        //hide links
        document.getElementById("prdlnk").style.visibility = "hidden";
        document.getElementById("viewlnk").style.visibility = "hidden";
        document.getElementById("MigMsg").innerHTML= "Scheduled Migration in Progress. Please try later.";

    }

    if (MigTime > nExpired) {
        //visible
        document.getElementById("prdlnk").style.visibility = "visible";
        document.getElementById("viewlnk").style.visibility = "visible";
        document.getElementById("MigMsg").innerHTML= "";
        //     clearInterval(myInterval);
    }
}

在此先感谢,弗农

4

2 回答 2

1

可能是错误的复制粘贴,但此行缺少'

document.getElementById(prdlnk').style.visibility = "visible";

应该

document.getElementById('prdlnk')...

另外,为什么要混合引号和双引号?选择一种风格并坚持下去。

于 2013-02-18T03:40:44.040 回答
0
var disable = (day === 0 && (MigTime >= nStart && MigTime < nExpired));

在这行代码中,day === 0 背后的意图是什么?=== 是对对象类型和值的测试,它不是赋值运算符。尝试日 = 0

于 2013-02-18T03:43:57.680 回答