0

我正在开发一个应该在画布上绘制一些矩形的应用程序。这个想法是通过将每个都放在最后一个来绘制它们 - 我的意思是,从另一个完成的地方开始绘制它。

我创建了一个从输入中获取值的按钮,这很容易。我将此值添加到数组中,但每次按下按钮时,数组都会再次为空。我听说我需要一个“实例变量”,但我现在很迷茫。

欢迎任何帮助。这是代码

function corta() {
    var c = document.getElementById("myCanvas");
    var ctx = c.getContext("2d");
    var medida1 = document.getElementById('medida2').value;
    var medida2 = document.getElementById('medida1').value;
    var corte1 = Math.round(medida1);
    var corte2 = Math.round(medida2);
    var arrayAncho = [];
    var arrayLargo = [];
    var ancho = 0;
    var largo = 0;
    arrayLargo.push(medida2);
    arrayAncho.push(medida1);
    //ancho, largo

    document.getElementById('medida2').onclick = function () { this.value = ''; };
    document.getElementById('medida1').onclick = function () { this.value = ''; };

    //metodo para el ancho

    for (var i = 0; i < arrayAncho.length ; i++) {
        ancho += arrayAncho[i];
    }

    if (arrayAncho.length == 1) {
        ctx.fillStyle = "#58FA58";
        ctx.fillRect(0, largo, corte1, corte2);
    } else
    if (medida1 > 122 - ancho) {
        ctx.fillStyle = "#58FA58";
        ctx.fillRect(ancho, largo, corte1, corte2);//ancho, largo
    }

    medida1 = 0;
    medida2 = 0; 
}
4

1 回答 1

0

每次你运行你运行的函数

var arrayAncho = [];
var arrayLargo = [];

这使他们每次都空白。您必须在函数之外声明它们,并且只能在代码块内引用它们

于 2013-02-07T17:22:28.963 回答