Возможный дубликат:
Событие обработчики внутри цикла Javascript - нужно закрытие?
Я новичок в 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);
}
y_position
передается в качестве параметра функции, которая возвращает фактическую функцию. - person Pointy   schedule 14.11.2012