Пишу скриптик, толкнулся с проблемой..
Необходимо после вызова функции setInterval() передать управление не сразу, а только по окончании ее выполнения (после вызова clearInerval())..
Подскажите: каким образом можно заблокировать передачу управления??
Вот кусок исходного кода:
Hen = function(game,i) {
this.name = "Hen #"+i;
this.i = i;
this.game = game;
this.div = null;
this.timer = -1;
this.coef = 0;
this.from = 0;
this.counter = 0;
}
Hen.prototype = {
remove: function() {
var self = this;
self.animateRemoving();
self.game.board.removeChild(self.div)
},
animateRemoving: function() {
var self = this;
self.counter = 0;
self.coef = 0;
if (self.timer == -1) {
self.from = 0;
self.to = 100;
self.timer = window.setInterval(function() {self.animate(1)},delay);
}
},
animate: function(k) {
var self = this;
self.coef += 0.1;
self.counter += Math.round(self.coef);
if (self.counter > 100) {
self.counter = 100;
window.clearInterval(self.timer);
self.timer = -1;
}
$style(self.div, {opacity: (self.from + k*self.counter)/100});
}
}