取消选中时复选框

时间:2016-06-23 16:26:24

标签: javascript checkbox

我试图让复选框在检查时执行计时事件,并在未选中时停止。它在检查时有效,但当我取消选中它时,它只是再次执行该功能,变量变得更快。

Live

JS代码

environment

1 个答案:

答案 0 :(得分:2)

使用 clearInterval() 清除未选中的时间间隔,而不是onclick使用onchange以防复选框。

var money = 0;

function moneyMaker() {
  money++;
  document.getElementById('money').innerHTML = money;
}
var int;

function doautoMoney(chk) {
  if (chk)
    // store the interval reference for clearing the interval
    int = window.setInterval(function() {
      moneyMaker();
      //document.form.automoney.click();
      //alert('Auto Saved!');
    }, 1000);
  else
    clearInterval(int)
}
Money: <span id="money">0</span>
<p>
  <button onclick="moneyMaker(1)">Mine Iron!</button>
  <input type="checkbox" name="automoney" onchange="doautoMoney(this.checked);">