Mam taki kod:
function klasa() { this.loop = 0; this.object = $('#jakisObiekt'); this.moveUp = function() { this.object.animate({top : '+=100px'}, 1000, 'linear', function() { //tutaj jest błąd, po prostu nie wiem jak to wywołać. if(this.loop < 100) { this.moveDown(); } }); } this.moveDown = function() { this.object.animate({top : '-=100px'}, 1000, 'linear', function() { if(this.loop < 100) { this.moveUp(); } }); } }
I wywołuję to w ten sposób:
var k = new klasa(); k.moveUp();
Wiem, że nie działa (komentarz w kodzie).
Chcę osiągnąć powtarzającą się, do uzyskania wartości 100 dla zmiennej loop, animację (góra/dół) na obiekcie. Tylko, że FireBug wywala błąd, że nie ma takiej funkcji jak this.moveUp(). Wiem też, że nie jest dobrze sprawdzany warunek:
if(this.loop < 100) { ... }
Wiem, że 'this' jest źle użyte, bo odwołuje się do elementu DOM '#jakisObiekt', a chcę się odwołać do obiektu klasy, żeby wywołać metodę.
Czy ktoś wie jak temu zaradzić?
Pozdrawiam!