в общем есть класс Duck, хочу сделать, чтобы при создании очередной утки ей присваивался обработчик onclick( при нажатии должна выполнять функция прототипа, которая перемещает утку на странице на 30 px). Создаю 2 утки, на странице они отображаются, но при нажатии на любую из них перемещается только та, что создана последней. Я новичок, если кто может - объясните, или пальцем ткните, где почитать и найти решение
function duck(sea,yPosition,color){
this.sea=sea
this.y=yPosition
this.x=0
this.color=color
this.image=document.createElement('img')
this.image.style.position="absolute"
this.image.src=color+"-duck.gif"
this.sea.appendChild(this.image)
this.image.style.top=this.y
this.image.style.left=this.x
that = this
this.image.onclick = function(){
that.swim();
}
}
duck.prototype={
//здесь наши методы
swim : function(){
if(this.x<800){
this.x+=30
this.image.style.left=this.x
}else{
this.say('The sea is over, i can not swim any more')
}
},
say : function(text){
alert(text+'; and my color is '+this.color)
}
}