javascript - 计算器,如何在单击加号后存储一个值并在单击等号后给出总和?
问题描述
我正在制作一个计算器,但在单击加号后存储值时出现问题,然后选择另一个数字单击等号并获得结果。请帮帮我!经验值
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>
解决方案
这会起作用我没有添加添加按钮,只是当你点击操作时,设置一个标志来检查你点击计算时是否说它是否是加/减等
<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>
推荐阅读
- java - 在 Java Swing 中嵌入 VNC 查看器
- snowflake-cloud-data-platform - 从表中获取雪花仓库详细信息
- laravel - 如何在查询中包含夏令时更改,以便它给出 25 小时,或一天 23 小时而不是 24 小时
- python - Python 时间序列 - 实现日历周来绘制和预测
- sharepoint - 上传的图像文件在 sharepoint 中没有任何预览
- emacs - elisp 中的赋值
- javascript - 从数据 url 设置 fabric.js 画布背景
- blazor - Blazor @onmousedown 无法识别长按
- python - 如何在包含 html 和纯文本消息正文的 python 中发送邮件?
- reactjs - 无法在 web-worker 中导入 fabric.js?