function updateimage(){
$("#fileimg").attr("src","secondimage.jpg");
$('#fileimg').fadeIn('slow');
}
setTimeout(updateimage(), 5000);
这是我试过的代码。它是一个每5秒重新加载图像的代码。但它不起作用。我在IE中收到此错误:参数无效 你们都可以帮助我吗?感谢。
答案 0 :(得分:9)
您应该将实际函数作为参数传递而不是调用:
setTimeout(updateimage, 5000);
答案 1 :(得分:1)
尝试
setTimeout('updateimage()', 5000);
答案 2 :(得分:1)
2个选项:
setTimeout("updateimage()", 5000)
或使用函数:
setTimeout(function() {
updateimage();
}, 5000);
答案 3 :(得分:1)
根据microsoft文档here,参数必须是函数指针或字符串。所以下面的两个方法都可行。
方法1
setTimeout(updateimage, 5000);
方法2
setTimeout("updateimage", 5000);
答案 4 :(得分:0)
setTimeout(updateimage(), 5000);
从updateimage中删除括号,所以它是:
setTimeout(updateimage, 5000);
答案 5 :(得分:0)
正如其他人所说,你说错了。
你有什么:
function updateimage(){
$("#fileimg").attr("src","secondimage.jpg");
$('#fileimg').fadeIn('slow');
}
setTimeout(updateimage(), 5000);
执行此操作后,会将updateImage()
的结果传递给setTimeout()
来电。由于你的函数没有返回值,你实际上是在说:
setTimeout(null, 5000);
按名称传递函数,就好像它是该名称的变量一样,确实如此。
setTimeout(updateimage, 5000);