为计数器创建重置按钮

问题描述 投票:0回答:2

我有这个柜台。它是使用Javascript闭包的计数器。您可以通过重置按钮帮助我吗?如果可以的话,请使用这种类型的“计数器”代码,而不要使用其他方法...

HTML代码

<button type="button" onclick="geo()">Count!</button>
<p id="count">0</p>

JAVASCRIPT CODE

<script>
  var count= (function () {
  var nr = 0;
  return function () {nr+= 1; return nr;}
  })();

  function geo(){
      document.getElementById("count").innerHTML = count();
  }
</script>
javascript button closures counter reset
2个回答
0
投票

我什至不确定您现在所拥有的是否正常。

const addBtn = document.querySelector('#add');
const resetBtn = document.querySelector('#reset');
const pCount = document.querySelector('#count')

let start = 0;


function add(){
  start++
  pCount.innerHTML = start
}

function reset(){
  start = 0;
  pCount.innerHTML = start
}

addBtn.addEventListener('click', add)
resetBtn.addEventListener('click', reset)
<button id="add"> Add </button>
<button  id="reset" > Reset </button>
<p id="count"></p>

0
投票

我对闭包了解不多(似乎非常有趣...),但是将nr变量移出函数之外,然后在nr上调用reset将重置计数器。

var nr = 0;
var count= (function () {
return function () {nr+= 1; return nr;}
})();

function geo(){
    document.getElementById("count").innerHTML = count();
}
function reset() {
  nr = 0;
  document.getElementById("count").innerHTML = nr;
}
<button type="button" onclick="geo()">Count!</button>
<button type="button" onclick="reset()">Reset!</button>
<p id="count">0</p>
© www.soinside.com 2019 - 2024. All rights reserved.