0

This is looping in a timeout function. The nw remains undefined or is reset to undefined again at each new start. Why is that?

$("#wert"+i).load('variable.html #w'+i);
if(! nw){
alert(nw);
var nw = eval('neuerwert'+i); // Here I set the var nw, so why is it undefined again the next time around?
}
if ($("#w"+i).html() != nw){
wertaenderung('#wert'+i);
nw = $("#w"+i).html();
};
4

3 回答 3

1

变量nw必须在正确的范围内:

var nw;
$("#wert"+i).load('variable.html #w'+i);
if(! nw){
    alert(nw);
    nw = eval('neuerwert'+i);
}
if ($("#w"+i).html() != nw){
    wertaenderung('#wert'+i);
    nw = $("#w"+i).html();
};

你在声明之前使用了变量

于 2013-07-24T12:00:54.840 回答
1

尝试nw移出负载功能:

var nw;
$("#wert" + i).load('variable.html #w' + i);
if (!nw) {
    alert(nw);
    nw = eval('neuerwert' + i);
}
if ($("#w" + i).html() != nw) {
    wertaenderung('#wert' + i);
    nw = $("#w" + i).html();
};
于 2013-07-24T12:01:57.227 回答
1

只需删除此行中的“var”:

var nw = eval('neuerwert'+i);

因此,您将在全局上下文中初始化 nw 变量。

通过编写 var nw = ... 您创建了一个局部变量,该变量在您离开回调函数时被删除。

于 2013-07-24T12:04:01.573 回答