继续检查条件是否为真

时间:2015-12-05 20:43:38

标签: javascript

我有一个if语句,并希望继续检查条件是否为真。

我为此找到了解决方案并创建了以下内容:

var interval = 400;
var timer = window.setInterval(function(){
  if (wood > mainBuildingCostsWood.innerHTML) {
     alert('Works');
     window.clearInterval(timer);
  }
}, interval);

上面的代码应该检查用户当前的木材是否超过250.木材自动计数1。所以一段时间后,用户的木材应该超过250。

不幸的是,这段代码不起作用,任何人都可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:1)

innerHTML是一个字符串,而我猜测wood是一个数字。先做parseFloat()

答案 1 :(得分:0)

确保“范围”一切正常:

var wood;
...
var mainBuildingCostsWood = document.getElementById("<your_element>");
mainBuildingCostsWood.innerHTML = 250;
...
var timer = setInterval(function(){
 if (wood > mainBuildingCostsWood.innerHTML) {
   alert('Works');
   clearInterval(timer);
 }
}, 400);

答案 2 :(得分:0)

使用parseInt();string转换为INT

&#13;
&#13;
var interval = 400;
var wood = 250;//
    var WoodCosts = parseInt(document.getElementById("mainBuildingCostsWood").innerHTML);//user wood
    var timer = window.setInterval(function(){
      if (wood > WoodCosts) {
         document.getElementById("status").innerHTML = 'Works';
         window.clearInterval(timer);
      }
    }, interval);
&#13;
<div id='mainBuildingCostsWood'>20</div>
<div id='status'></div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

通过将“更改”变量放在区间函数中来修复它。

    var interval = 400;
    var timer = window.setInterval(function(){
      /* Current resources */
      var wood = document.getElementById('wood').innerHTML;
      var iron = document.getElementById('iron').innerHTML;
      var clay = document.getElementById('clay').innerHTML;

      if (wood > parseInt(mainBuildingCostsWood.innerHTML)) {
         alert('Works');
         window.clearInterval(timer);
      }
    }, interval);