2014-06-05 169 views
0

是否有可能遍歷名爲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

我有一個主要畫布,我正在繪製一些東西,並且每次點擊「發送」按鈕時,主畫布的實際繪圖都應該發送到下一個畫布。

此方法適用於我,但僅適用於第一個畫布。

回答

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; 
} 

基本上你使用指針。這樣做的好處是,您可以以任何希望的方式訂購畫布 - 您可以通過枚舉頁面或其他方法輕鬆填充陣列。