“我前几天发布了类似的问题,感谢@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);
}
}
提前致谢, 弗农
答案 0 :(得分:1)
可能是错误的复制粘贴,但此行缺少'
document.getElementById(prdlnk').style.visibility = "visible";
应该是
document.getElementById('prdlnk')...
另外,为什么要混合引号和双引号?选择一种风格并坚持下去。
答案 1 :(得分:0)
var disable = (day === 0 && (MigTime >= nStart && MigTime < nExpired));
在这行代码中,每天背后的意图=== 0? ===是对象类型和值的测试,它不是赋值运算符。试试day = 0