Javascript检查变量.然后每秒获得++
Javascript Check variable.Then gain ++ per second
我有一个问题,我想检查变量。如果为0,则在1.5秒后获得++。如果是10,那么在0.4秒后获得++。它的复杂。它真的不起作用。我的代码到目前为止:
if(road == 1){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},1400);}
else if(road == 2){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},1300);}
else if(road == 3){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},1200);}
else if(road == 4){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},1100);}
else if(road == 5){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},1000);}
else if(road == 6){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},900);}
else if(road == 7){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},800);}
else if(road == 8){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},600);}
else if(road == 9){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},400);}
else if(road == 10){setInterval(function(){stamina = stamina+1;document.getElementById("stamina").innerHTML = stamina;},200);}
else{setInterval(function(){stamina++;document.getElementById("stamina").innerHTML = stamina;},1500);}
修路的代码是这样的:
function build_road() {
if ((wood + tavern) >= 29 && stone > 4 && road < 10) {
road++;
document.getElementById("road_count").innerHTML = road;
wood = (wood + tavern) - 20;
stone = stone - 5;
document.getElementById("wood").innerHTML = wood;
document.getElementById("stone").innerHTML = stone;
exp = exp + 20;
var x = document.getElementById("PROGRESS");
x.setAttribute("value", exp);
x.setAttribute("max", max);
if (exp == 100) {
exp = 0;
level++;
document.getElementById("level").innerHTML = level;
}
alert("Congratulations,You've create a Road,Now you gain stamina slightly faster.");
}
else {
alert("You need: 30Wood,5Stone .Maximum 10 Roads.")
}
}
-
创建可重用的函数(这通常是一个很好的做法,当你在一段代码中遇到困难时,把它分解成小函数):
var staminaIncreaseTimer = null; function configureStaminaIncrease(delay) { if (staminaIncreaseTimer !== null) clearInterval(staminaIncreaseTimer); staminaIncreaseTimer = setInterval(function () { increaseStamina(); }, delay); } function increaseStamina() { stamina += 1; document.getElementById("stamina").innerHTML = stamina; }
-
使用数组的解决方案(由Jay Harris建议)
var roadIndex = road-1; var ROAD_DELAYS = [1400, 1300, 1200, /*...*/]; var DEFAULT_DELAY = 1500; if (roadIndex < ROAD_DELAYS.length) { configureStaminaIncrease(ROAD_DELAYS[roadIndex]); } else { configureStaminaIncrease(DEFAULT_DELAY); }
-
用
switch
代替if-elseif混乱的解决方案:switch (road) { case 1: configureStaminaIncrease(1400); break; case 2: configureStaminaIncrease(1300); break; case 3: configureStaminaIncrease(1200); break; //and so on... default: configureStaminaIncrease(1500); }
相关文章:
- 如何在JavaScript中检查变量是否为null和/或未定义
- 检查变量是否为字符串的简单方法
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- Selenium-检查变量中的字符
- 检查变量并将它们添加到逗号分隔的列表中
- 通过字符串形式的名称检查变量是否存在于本地作用域内
- 检查变量是否大于某物,但不是未定义的
- jQuery - 检查变量是否为 dom 元素
- 检查变量是否未定义不起作用
- 如何在 Javascript 中检查变量是否是数组(noesis.Javascript)嵌入在C#中
- Javascript 检查变量
- 如何检查变量是否为节点
- JavaScript 函数,用于检查变量是否存在以避免错误
- 如何在 JavaScript 中检查变量类型
- 这是检查变量是否被定义的最佳方法,而不是 null 并等于 “” 或其他任何内容
- 我可以创建一个承诺来检查变量是否设置为角度吗?
- 检查变量是否为 SVG.js 元素实例
- 表单点击功能可在提交前检查变量
- 如何在 JavaScript 中检查变量是局部变量还是全局变量
- JavaScript:检查变量或对象是否存在