function winners() {
updating = true;
if (mm == "Best of 3") {
var wygrany = (s1 == "2")? 'left' : 'right';
return true;
}
if (mm == "Best of 5") {
var wygrany = (s1 == "3")? 'left' : 'right';
return true;
}
if (mm == "Best of 7") {
var wygrany = (s1 == "4")? 'left' : 'right';
return true;
}
return false; }
这是应该决定我的var wygrany =' left'或者'对'。
function runUpdate() {
if (timeOld == timeNew) return;
if (winners == true) {
updating = true;
setTimeout(function(){
$('.team.center .name').set('$', '-flipInY +fadeOut');
if(wygrany == "left") {
$('.team.right').set('$', '+animated +fadeOutDown');
$('.team.left').set('$', '+winner_show');
$('#ww').set('$', '-hidden +fadeIn');
$('.bg_winner').set('$', '-hidden +fadeIn');
} else {
$('.team.left').set('$', '+animated +fadeOutUp');
$('.team.right').set('$', '+winner_show');
$('#ww').set('$', '-hidden +fadeIn');
$('.bg_winner').set('$', '-hidden +fadeIn');
}
updating = false;
}, 1000);
}
这是负责展示的部分。虽然代码不起作用,但我的功能获胜者总是返回真实的'然后脚本停止。这可能是语法错误,但我无法找到它。
答案 0 :(得分:1)
您有范围问题。您在函数范围内声明var wygrany
,任何不在该范围内的范围都没有访问权限。
//outside scope
var wygrany = '';
function winners() {
updating = true;
if (mm == "Best of 3") {
wygrany = (s1 == "2")? 'left' : 'right';
return true;
}
if (mm == "Best of 5") {
wygrany = (s1 == "3")? 'left' : 'right';
return true;
}
if (mm == "Best of 7") {
wygrany = (s1 == "4")? 'left' : 'right';
return true;
}
return false; }
然后你可以在任何地方访问它。你还需要这样做:
if (winners() == true) {
不确定winners
是否也是变量?混淆了你的拥有方式,但如果这就是你的意图,你必须添加()
来进行函数调用。
我不知道为什么它会“总是返回true”似乎函数甚至没有被调用,因为你没有调用函数winners()
。但要解决这些问题,如果你仍然遇到麻烦,我们可以看到为什么它总是回归真实。
查看开发人员工具,您可能会在控制台调试器中看到这些错误。
答案 1 :(得分:0)
实际上我需要稍微重新定义我的功能获胜者:
function winners() {
updating = true;
if (mm == "Best of 3") {
if(s1 == "2" || s2 == "2") {
wygrany = (s1 == "2")? 'left' : 'right';
return true;
} else {
return false;
}
}
if (mm == "Best of 5") {
if(s1 == "3" || s2 == "3") {
wygrany = (s1 == "3")? 'left' : 'right';
return true;
} else {
return false;
}
}
if (mm == "Best of 7") {
if(s1 == "4" || s2 == "4") {
wygrany = (s1 == "4")? 'left' : 'right';
return true;
} else {
return false;
}
} }
我在范围之外声明了变量wygrany。 但如果我改变
if (winners == true)
到
if (winners() == true)
脚本甚至更早停止。我忘了添加winners是变量,我之前声明并忘记删除,这会影响代码吗?