JavaScript闭包如何在动态形状中工作

时间:2012-11-14 13:56:47

标签: javascript kineticjs

  

可能重复:
  Event handlers inside a Javascript loop - need a closure?

我是kineticjs的新学员。我遇到了一些复杂的javascript闭包问题,而我使用kinetic.shape绘制一条连续的行,如

  for(var i = 0; i < 4; i++)
  {
    var y_position = data[i];
    context.lineTo(i*x_position, y_position);
  }

在我的情况下这是太多层,我已经多次更改了我的代码,但仍然无法达到我预期的结果。有人可以帮助我吗?

    for(var i = 0; i < 4; i++){ 
        var y_position = data[i];
        //document.write("<br/>"+y_position);  (it print 0 1 2 3)
        var line = new Kinetic.Shape({
            drawFunc: function() {
                var context = this.getContext();
                context.lineTo(i*x_position, y_position);
                this.stroke(context);
                //document.write("<br/>"+y_position);  (it print 3 3 3 3)
                },

                stroke: lineColor,
                strokeWidth: 1
            });
            layer.add(line);
    }

0 个答案:

没有答案