-1
function Main(BombPosTopr, BompPosLeftr){
if (CheckRight == false){
        //$("#Main").prepend('<div class="Effect" style="absolute; top:' + BombPosTopr + 'px; left: '+ BombPosLeftr +'px;"></div>');
        ArrayEffects.push(new EffectVoorBom(BombPosTopr,BombPosLeftr));
        BombPosLeftr += 30;
        }
        };

        this.explosionTime2 = setTimeout( function(){ 
        **self2.removeEffect();**
        }

}
function EffectBom(BombPosTopr, BompPosLeftr){
var self2 = this;
this.el = $('<div/>');
this.el.addClass('Effect');
this.el.css({position : 'absolute', top : BombPosTopr + 'px', left : BompPosLeftr+'px'});
$("#Main").prepend(this.el);


self2.removeEffect = function(){
**self2.el.remove();**
}

我有 2 个函数,主要我需要添加效果,所以我将它们放在一个数组中并使用对象 EffectBom。

现在最大的问题是我需要在我的其他函数中使用 self2.removeEffect() 但它找不到它!

Thnx 阅读 - 帮助!

4

1 回答 1

0

您需要更改变量的范围。添加

var self2;

到文件顶部并更改

var self2 = this;

成为

self2 = this;
于 2013-05-01T18:10:01.290 回答