首页 > 解决方案 > 计算器,如何在单击加号后存储一个值并在单击等号后给出总和?

问题描述

我正在制作一个计算器,但在单击加号后存储值时出现问题,然后选择另一个数字单击等号并获得结果。请帮帮我!经验值

let firstValue;
let secondValue;

document.querySelector('#addOperator').addEventListener('click', function() {
 if(document.querySelector('#addOperator')) {
  firstValue = document.querySelector('#output').textContent;
  // document.querySelector('#output').textContent = '';
  // console.log(firstValue);
  console.log(document.querySelector('#output').textContent);
 };
});

document.getElementById('equals').addEventListener('click', function() {
 if(document.querySelector('#output').textContent === firstValue) {
  secondValue = document.querySelector('#output').textContent;
  // console.log(secondValue);
  // document.querySelector('#output').textContent = add(firstValue, secondValue);
  console.log(document.querySelector('#output').textContent = add(firstValue, secondValue));
 };
});

我的html文件是这样的------------------------------ ---------------->

    <!-- Calculator display  -->
<div id="output">
  <!-- <div id="previous-operand"></div>
  <div id="current-operand"></div> -->
</div>

<button class="span-two" id="ac-color">AC</button>
<button id="clear-entry">CE</button>
<button id="divideOperator">÷</button>
<button class="number">7</button>
<button class="number">8</button>
<button class="number">9</button>
<button id="multiplyOperator">*</button>
<button class="number">4</button>
<button class="number">5</button>
<button class="number">6</button>
<button id="addOperator">+</button>
<button class="number">1</button>
<button class="number">2</button>
<button class="number">3</button>
<button id="subtractOperator">-</button>
<button class="number">0</button>
<button class="number">.</button>
<button class="span-two" id="equals">=</button>

标签: javascripthtmldom

解决方案


这会起作用我没有添加添加按钮,只是当你点击操作时,设置一个标志来检查你点击计算时是否说它是否是加/减等

<input type="button" value="1" onclick="add(event)" />
<input type="button" value="2" onclick="add(event)"/>
<input type="button" value="3" onclick="add(event)"/>
<input type="button" value="4" onclick="add(event)"/>
<input type="button" value="Equals" onclick="calculate()"/>
...
<script>
var nums = [];

var add = function(e){
  nums.push(Number(e.target.value));
}

var calculate = function(){
  var res =0;
  if(nums.length > 0){  
    nums.forEach(function(num){
      res += num;
    });
  }
  alert(res);
  return res;
}
</script>

推荐阅读