【发布时间】:2014-05-17 01:03:15
【问题描述】:
我有以下简单的 JavaScript 加载一堆图像并将它们放置在 HTML 画布上(canvasCTX 是 2D 画布上下文):
for (var i=0 ;i<10; i++) {
var placementX = i*25;
var imageObj = new Image();
imageObj.src = 'assets/png/' + i + '.png';
imageObj.onload = function() {
canvasCtx.drawImage(imageObj,placementX,0);
};
}
现在我发现的问题是所有图像都放在同一个地方 - 循环创建的最后一个变量。我认为这是因为加载图像时 for 循环会继续运行,因为 onload 是一个异步事件。
如何确保每张图片都从for loop 中得到正确的placementX?
【问题讨论】:
标签: javascript html canvas for-loop