Javascript计数器-跳过数字1。从0转到2-为什么?

时间:2018-10-02 13:08:51

标签: javascript counter

正如标题所示,我在页面上有一个简单的计数器。 两个按钮:一个加1,另一个减1。 它从“ 0”开始。单击“添加按钮”时,应转到“ 1”。 但是它会直接跳到“ 2”。这是为什么?我在做什么错了?

这就是我所拥有的:

    var count = 1;
    var countEl = document.getElementById("count");
    function plus(){
        count++;
        countEl.value = count;
    }
    function minus(){
      if (count > 0) {
        count--;
        countEl.value = count;
      }  
    }
<input type="text" size="25" value="0" id="count">
<input type="button" value="-" onclick="minus()">
<input type="button" value="+" onclick="plus()">

1 个答案:

答案 0 :(得分:1)

  

单击“添加按钮”时,应转到“ 1”。但是它会直接跳到“ 2”

count++; /* do this later */
countEl.value = count;

这是因为您更新 显示其先前状态

var countEl = document.getElementById("count");
var count = parseInt(countEl.value);

function plus() {
  countEl.value = ++count;
}

function minus() {
  if (count > 0) {
    countEl.value = --count;
  }
}
<input type="text" size="25" value="0" id="count">
<input type="button" value="-" onclick="minus()">
<input type="button" value="+" onclick="plus()">

另一个不需要两个功能的示例

var countEl = document.getElementById("count");

function add(by) {
  var res = parseInt(countEl.value) + parseInt(by);
  countEl.value = 0 > res ? '0' : res;
}
<input type="text" size="25" value="0" id="count">
<input type="button" value="-1" onclick="add(this.value)">
<input type="button" value="+1" onclick="add(this.value)">