我将图像加载到JS中,并等待其onload事件的状态。
我在HTML中的源代码中包含JS文件,并且想知道最初使用JS加载的图像的状态。

例:

<html> <head> <script> var imgStatus = false; var img = new Image(); img.onload = function(){ imgStatus = true; } img.src = "http://mydomains.com/someimage.jpg"; </script> </head> <body> <script type="text/javascript" src="js1.js"></script> </body></html>

js1.js的代码是

window.onload = function(){ // check for imgStatus = true and then only do something // till then do nothing}

我是否需要使用setInterval不断检查imgStatus的值,还是有其他更好的方法等待状态知道?

最佳答案

最简单的方法是在imgStatus为true时触发事件,例如:

img.onload = function(){
 imgStatus = true;
 $(window).trigger("img/ready");
};

function doSomething(){
 alert("image is ready");
};

window.onload = function(){
 if (imgStatus)
  doSomething();
 else
  $(window).bind("img/ready", doSomething);
}

10-06 14:36