老实说,我不明白为什么这不起作用。没有看到任何足够接近我项目的东西来帮助我。 这个功能:
function sneakPast(){
sneakChance = Math.floor((Math.random()*11)+1)+sneak;
alert(sneakChance);
if (sneakChance >=(6*level))
{
sneakSuccess = true;
}
else {sneakChance = false;}
}
正在从此函数调用:
function sceneFourC(){
sneakPast();
if (sneakSuccess == true){document.getElementById("Content").innerHTML = "You are able to sneak past the mob into town. <br/><input type='button' value='Continue.' onClick='sceneFive();' />";}
else {document.getElementById("Content").innerHTML = "You fail to sneak past the mob.<br/><input type='button'/>";}
}
当警报出现时,它只显示“NaN。”
非常感谢任何提示。
答案 0 :(得分:1)
我认为其中一个基本问题是您将sneakChance
设置为false
而不是sneakSuccess
。也就是说,还有其他问题:
试试这个:
function sneakPast() {
var sneakChance = Math.floor((Math.random() * 11) + 1) + sneak;
return sneakChance >= (6 * level);
}
function sceneFourC() {
var content = document.getElementById('Content');
if (sneakPast()) {
content.innerHTML = "You are able to sneak past the mob into town. <br/><input type='button' value='Continue.'/>";
} else {
content.innerHTML = "You fail to sneak past the mob.<br/><input type='button'/>";
}
}
即。
sneakPast()
返回成功,而不是设置全局变量sceneFourC
函数中重复自己。你也加载了其他全局变量(sneak
,level
等),但是如果没有更多的上下文,我们就无法清理它们。
答案 1 :(得分:1)
我认为,潜行没有定义,所以它是'未定义'。
DEMO此处
指定一个潜行的整数,它应该有用。
更改
var sneak, sneakSuccess = false;
到
var sneak = 0, sneakSuccess = false; //assign a valid integer to sneak