2014-03-19 215 views
0

我有一个函数,检查图像加载是否正常。当我在函数中使用alert时,它会返回true,但是当我在函数后面使用时,它始终是错误的。我该如何解决这个问题?函数变量不传递到外部

var isInstalled = false; 

function checkimg(){ 

isInstalled = true; 

} 

alert(isInstalled); 

<img id="fire" src="player.png" onload="javascript: checkimg()" \> 

回答

1

在你的代码中,alert(isInstalled);将在函数checkimg()被调用之前调用,所以,你看不到变量isInstalled的变化如预期

+0

如何根据预期查看变量isInstalled的变化? – user3304007

+1

在结尾处是一种情况,另一种情况是,您可以创建超时。 setTimeOut(checkIsInstall,1000); – VinhNT

+1

函数checkIsInstall(){ if(isInstalled){ setTimeOut(checkIsInstall,1000); (“Loaded”);其他{ } else { alert(“Loaded”); } } – VinhNT

0

你看,你在定义isInstalled变量的同一时刻调用alert,所以alert会显示它的值 - false。把警报放入checkimg函数中,看看它是否有效。

+0

但我不应该这样做,我的问题是如何使它工作。在函数外部使用变量。 – user3304007

+0

你不能像现在这样完成它的工作。问题是在函数checkimg()甚至执行之前调用alert。 – Flasz