setInterval不起作用

时间:2009-12-05 17:25:07

标签: javascript

假设我有一个功能:

function chk(){
   alert("Welcome");
}

window.onload = chk();
setInterval("chk();", 5000);

但它不起作用,但当我刷新页面时,它对我有效。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:7)

这对我来说很好。注意使用函数引用而不是调用函数并分配返回值。 SetInterval不需要使用字符串 - 这会强制参数的eval。您还可以使用函数引用(或匿名函数)作为参数。

function chk() {
    alert('checking');
}

window.onload = chk;

setInterval(chk,5000);

答案 1 :(得分:1)

如果您希望警报显示一次,请在5秒后使用:

function chk(){
   alert("Welcome");
}

setTimeout("chk()", 5000);

如果你想让警报每隔5秒出现一次(非常烦人,但是setInterval还有其他合法的)

function chk(){
   alert("Welcome");
}

setInterval("chk()", 5000);

答案 2 :(得分:0)

function chk(){
   alert("Welcome");
}

window.onload = chk();
setInterval("chk();", 5000);

window.onload此处变为undefined - chk不会返回任何内容。你需要像这样重写你的setInterval:setInterval(chk, 5000);