我正在使用 Javascript 加载 2 张图像并将它们绘制在画布上。我使用图像的 onload 事件在它们都加载后绘制图像。
var loadedImagesCount = 0;
var NUM_OF_TILES=2;
window.onload=function(){
background.onload = imageOnLoad();
background.src ="background.png";
layer1 = document.getElementById("layer1");
ctx1 = layer1.getContext("2d");
character.onload = imageOnLoad();
character.src ="character.png";
layer2 = document.getElementById("layer2");
ctx2 = layer2.getContext("2d");
}
function imageOnLoad(){
loadedImagesCount++;
window.alert(''+loadedImagesCount+ ' ' + background.complete + ' ' + character.complete);
if (loadedImagesCount==NUM_OF_TILES) drawAll();
}
被imageOnLoad()
调用两次(如预期的那样)。第一次是(通过警报)说两个图像都已加载。第二次说加载了人物图片,但是背景图片没有了?这怎么可能?为什么它会再次卸载图像?刷新后不再发生这种情况,它只会在您第一次加载页面时发生。
并且因为没有加载背景,所以在画布的时候,只画了人物。