0
在我的jsfiddle中看到,我有3个画布呈现一个形状,但它只在最后一个画布上呈现。我想我可能会错过一些东西,但是我已经绕过了画布元素,所以我认为它只会对所有这些元素起作用。我对Javascript很陌生,所以很抱歉,如果它的思想拙劣。为什么画布形状仅在最后一个画布上渲染3个?
var c = document.getElementsByClassName("myCanvas");
for (var canvas of c) {
var ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.rect(150, 0, 3, 75);
var img = new Image();
img.src = "https://assets.servedby-buysellads.com/p/manage/asset/id/26625";
img.onload = function() {
var pattern = ctx.createPattern(this,"repeat");
ctx.fillStyle = pattern;
ctx.fill();
};
ctx.closePath();
}
我的小提琴:
直到for循环完成执行完成后,onload才会运行。然后onload运行,ctx将成为循环的最后一个上下文。 – Blindman67