在javascript上向数组添加整数

时间:2013-02-07 16:12:46

标签: javascript

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

我创建了一个从输入中获取值的按钮,这是一个简单的部分。我将此值添加到数组,但每次按下按钮时,数组都会再次为空。我听说我需要一个'实例变量',但我现在很失落。

欢迎任何帮助。 这是代码

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

1 个答案:

答案 0 :(得分:0)

每次运行该功能时都会运行

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

每次都让它们变成空白。你必须在函数之外声明它们,并且只在代码块中引用它们