Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在其他函数jquery中使用变量 主功能(BombPosTopr、BompPosLeftr){ if(CheckRight==false){ //$(“#Main”)。前缀(“”); ArrayEffects.push(新效应器VOORBOM(BombPosTopr,BombPosLeftr)); BombPosLeftr+=30; } }; this.explosionTime2=setTimeout(函数(){ **self2.removeEffect()** } } 功能效应BOM(BombPosTopr、BompPosLeftr){ var self2=此; this.el=$(''); 此.el.addClass(“效果”); css({position:'absolute',top:BombPosTopr+'px',left:BompPosLeftr+'px'}); $(“#Main”).prepend(this.el); self2.removeEffect=函数(){ **self2.el.remove()** }_Javascript_Jquery - Fatal编程技术网

Javascript 在其他函数jquery中使用变量 主功能(BombPosTopr、BompPosLeftr){ if(CheckRight==false){ //$(“#Main”)。前缀(“”); ArrayEffects.push(新效应器VOORBOM(BombPosTopr,BombPosLeftr)); BombPosLeftr+=30; } }; this.explosionTime2=setTimeout(函数(){ **self2.removeEffect()** } } 功能效应BOM(BombPosTopr、BompPosLeftr){ var self2=此; this.el=$(''); 此.el.addClass(“效果”); css({position:'absolute',top:BombPosTopr+'px',left:BompPosLeftr+'px'}); $(“#Main”).prepend(this.el); self2.removeEffect=函数(){ **self2.el.remove()** }

Javascript 在其他函数jquery中使用变量 主功能(BombPosTopr、BompPosLeftr){ if(CheckRight==false){ //$(“#Main”)。前缀(“”); ArrayEffects.push(新效应器VOORBOM(BombPosTopr,BombPosLeftr)); BombPosLeftr+=30; } }; this.explosionTime2=setTimeout(函数(){ **self2.removeEffect()** } } 功能效应BOM(BombPosTopr、BompPosLeftr){ var self2=此; this.el=$(''); 此.el.addClass(“效果”); css({position:'absolute',top:BombPosTopr+'px',left:BompPosLeftr+'px'}); $(“#Main”).prepend(this.el); self2.removeEffect=函数(){ **self2.el.remove()** },javascript,jquery,Javascript,Jquery,我有两个函数,我主要需要添加效果,所以我将它们放在一个数组中,并使用对象EffectBom 现在最大的问题是我需要在另一个函数中使用self2.removeEffect(),但它找不到它 Thnx用于阅读-帮助!您需要更改变量的范围。添加 function Main(BombPosTopr, BompPosLeftr){ if (CheckRight == false){ //$("#Main").prepend('<div class="Effect" style="ab

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

现在最大的问题是我需要在另一个函数中使用self2.removeEffect(),但它找不到它


Thnx用于阅读-帮助!

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

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();**
}
到文件的顶部并更改

var self2;
将来

var self2 = this;

这里的嵌套错误。您有一个额外的
}在结束时,在中间,一个丢失<代码> } /代码>。在解决这个问题时,格式化您的代码,我不能否决一个建议,除非有必要,否则建议使用全局变量。您提出了一个替代方案,给出了ASKER提出的什么?AsKER的代码是不完整的,并且有一些嵌套PRO。问题,因此在这一点上没有足够的信息来确定正确和最佳的答案。@Ding同意cdhowie的观点,即这是一个简单的答案,可能会造成更多的麻烦。一个更好的答案应该尝试比全局变量更好地确定变量的范围
self2 = this;