我对jQuery和javascript整体来说还很陌生。在使用.click jQuery减去不同变量时遇到麻烦。我正在尝试使nmeHealth的值被变量Adjustdmg降低。

变数

var defdamage = 20;
var strength = 1;
var adjustdmg = strength + defdamage - 1;
var nmeHealth = 100;


功能

$("#enemy").click(function() {
  if (nmeHealth >= 0) {
    $("#enemyHealth").html(nmeHealth);
    var nmeHealth = nmeHealth - adjustdmg;
  }
})

最佳答案

var nmeHealth是问题所在,因为它意味着您要实例化一个新变量(并且它属于函数作用域),而不是修改旧变量。该行:

var nmeHealth = nmeHealth - adjustdmg;


应该:

nmeHealth = nmeHealth - adjustdmg;


或不久:

nmeHealth -= adjustdmg;




另外,如果您想显示当前敌人的健康状况,并且不落后一个周期,也可以更改行的顺序。我在这里谈论这段代码:

$("#enemyHealth").html(nmeHealth);
var nmeHealth = nmeHealth - adjustdmg;


最终版本:

nmeHealth -= adjustdmg;
$("#enemyHealth").html(nmeHealth);

10-05 20:00