image.onload在图像完全加载之前触发 [英] image.onload fires before image is completely loaded

查看:110
本文介绍了image.onload在图像完全加载之前触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用javascript + canvas开发游戏.我使用以下代码来确保

I''m making a game using javascript + canvas. I use the code below to ensure

var imgLoaded = 0;
var imgToLoad = multiImgs;
var onImgLoad = function()
{
   imgLoaded++;
   if(imgLoaded == imgToLoad)
   {
      ctx.drawImage()
   }
}

for(var i = 0; i < multiImgs; i++)
{
  images[i] = new Image();
  images[i]. önload = onImgLoad();
  images[i].src = ''images/''+i+''.png'';
}


这段代码有时可以正常工作,尤其是.当图像被缓存时.但是,第一次加载时,有时会给出INDEX_SIZE_ERR:我发现是由于高度&导致的DOM异常1.图像宽度不可用...但是只有在加载所有图像后才在这里调用drawImage吗?

该错误主要发生在移动设备中


This code at times works fine, esp. when the images are cached. However, when loading for the first time, at times, it gives INDEX_SIZE_ERR: DOM Exception 1 which I found is due to height & width of image not being available... but then here drawImage is called only when all the images are loaded?

The error primarily occurs in mobile devices

推荐答案

我找到了答案

实际上这是我的编码错误-

代替
I found the answer

Actually it was a coding error on my part -

instead of
images[i].onload = onImgLoad();



应该是



it should be

images[i].onload = onImgLoad;


这篇关于image.onload在图像完全加载之前触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆