我将图像加载到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);
}