为什么这会一直触发多个警报?

时间:2015-04-20 07:35:11

标签: javascript

我试图动画一些东西,我在这里有一些代码:

Enemy.prototype.update = function () {
    var tx = 650 - this.x;
    var ty = 250 - this.y;
    var dist = Math.sqrt(tx * tx + ty * ty);
    this.velx = (tx / dist)* this.speed;
    this.vely = (ty / dist)* this.speed;
    var distround = Math.floor(dist);
    if (distround > 0) {
        this.x += this.velx;
        this.y += this.vely;
    } else if (this.transparency != 0){
      alert("You lose!");
      location.reload(true);
    }
};

我想如果我在警报后刷新了页面,它就没事了,但有时会有很多警报框在刷新之前弹出......我该如何阻止它?完整的代码在这里:(警告,将触发多个警报...最好不要使用safari打开) http://jsfiddle.net/nLxLpvry/

1 个答案:

答案 0 :(得分:1)

这是因为每个enemy都有一个调用update的{​​{1}}方法。因此,当所有敌人消失时,所有敌人都会调用他们的警报,这会导致显示许多警报消息。