增加变量名称

时间:2014-06-05 10:30:55

标签: javascript

是否有可能迭代名为nextcanvas(number)的变量?

function move_to_nextcanvas ()
{
    var destCtx = nextcanvas1.getContext('2d');
    destCtx.drawImage(maincanvas, 0, 0, 600, 300, 0, 0, 300, 150);
}

因此,每次点击按钮时,它都会计算nextcanvas1nextcanvas2,然后nextcanvas3等,直至nextcanvas8

我有一个主画布,我正在绘制一些东西,每次单击“发送”按钮时,主画布的实际绘图应该发送到8个画布中的下一个。

此方法适用于我,但仅适用于第一个画布。

1 个答案:

答案 0 :(得分:1)

你需要做这样的事情:

var canvases = [canvasobj1,canvasobj2,etc],
    canvasIdx = 0;

function moveToNextCanvas() { 
    var destCtx = canvases[canvasIdx].getContext('2d');
    destCtx.drawImage(mainCanvas, 0, 0, 600, 300, 0, 0, 300, 150);
    canvasIdx++;
    if (canvasIdx > canvases.length) canvasIdx = 0;
}

基本上你使用指针。这样做的好处是您可以以任何方式订购画布 - 您可以通过枚举页面或其他方法轻松填充数组。