複数のレイヤーを持つキャンバスを作成する機能を記述しましたが、配列(ctx [n])でそれぞれのコンテキストを参照したいのですが、私が間違っていることを理解するのは本当に苦労しています。私はかなりjavascriptに新しいので、任意のヘルプに感謝します。配列を使用してレイヤードキャンバスのコンテキストを参照できますか?
私は自分のコードをテスト文書に分割しました(下記参照)。私はテストベースとして[0]を使用しています。私がctx [0]を他の変数名に置き換えると、コードは機能します。私は何か本当に愚かなことをしていますか?またはこの目的のために配列を使用することはできませんか?
あなたが呼び出すvar ctx = [];
var canv = [];
txt.innerHTML = "Paragraph text has been changed";
createCanv(0, 0, 0, 250, 100, 2);
textFade(1, "Hello!");
function textFade(ctx, text){
ctx[0].clearRect(0, 0, canv[0].width, canv[0].height);
ctx[0].font = "bold 25px verdana";
ctx[0].fillStyle = "rgba(255, 0, 0, 0.9)";
ctx[0].fillText(text,canv[0].width/2,canv[0].height/2);
}
function createCanv(c, x, y, w, h, z) {
canv[0] = document.createElement("canvas");
canv[0].id = "canv" + c;
document.body.appendChild(canv[0]);
canv[0].style.background = "rgba(196, 196, 255, 0.8)";
canv[0].style.position = "absolute";
canv[0].style.top = y + "px";
canv[0].style.left = x + "px";
canv[0].style.zIndex = z;
canv[0].width = w;
canv[0].height = h;
}
オブジェクトを参照する可能性があるため、配列を使用することができます – kollein
「txt.innerHTML」行は無視しても問題ありません。これは以前のテストの残りの部分です。 – Phi7
コードが関数textFade-ctx [0] .clearRectに落ちる:Uncaught TypeError:未定義の – Phi7