首先,我按照以下方式调用函数reloadImage1:
<img src="loading.gif" onload="reloadImage1(this,'newphoto.jpg')">
这是reloadImage1:
function reloadImage1(img,isrc)
{
setTimeout("reloadImage2(img,isrc)",2000);
}
这是reloadImage2:
function reloadImage2(img,isrc)
{
img.removeAttribute("onload");
img.src = isrc;
}
执行reloadImage1时出现以下错误消息:
ReferenceError: img is not defined
答案 0 :(得分:3)
尝试将reloadImage1
更改为:
function reloadImage1(img, isrc) {
setTimeout(function() {
reloadImage2(img, isrc);
}, 2000);
}
答案 1 :(得分:2)
在您的代码中:
> function reloadImage1(img,isrc) {
img 和 src 是函数的局部变量。
> setTimeout("reloadImage2(img,isrc)",2000);
> }
将字符串传递给setTimeout时,它在全局上下文中执行,它无法访问函数中的变量 img 和 src 。而是将具有闭包的函数传递给原始函数上下文,例如:
setTimeout(function() {reloadImage2(img,isrc);}, 2000);