javascript - 从 JS 计算器中的两个输入中获取值
问题描述
为类创建一个香草 JS 计算器,我已经获得了要在显示器中显示的数字和运算符值。无法为我的运算符制定逻辑,因为当它们被单击时,它们不应该出现在显示中,而是向正确的运算符触发事件侦听器,并在单击 = 时显示答案。对于初学者,我只专注于添加 1 + 2 = 3。
<div id="calculator-container">
<div>
<input id='calculator-display' type="text" value='' placeholder='0' disabled />
</div>
<div id="calculator-buttons">
<input type="button" class='number-button' id='one' value='1' />
<input type="button" class='number-button' id='two' value='2' />
<input type="button" class='number-button' id='three' value='3' />
<input type="button" class='number-button' id='four' value='4' />
<input type="button" class='number-button' id='five' value='5' />
<input type="button" class='number-button' id='six' value='6' />
<input type="button" class='number-button' id='seven' value='7' />
<input type="button" class='number-button' id='eight' value='8' />
<input type="button" class='number-button' id='nine' value='9' />
<input type="button" class='number-button' id='zero' value='0' />
<input type="button" class='number-button' id='decimal' value='.' />
<input type="button" class='operator-button' id='times' value='×' />
<input type="button" class='operator-button' id='divide' value='÷' />
<input type="button" class='operator-button' id='add' value='+' />
<input type="button" class='operator-button' id='minus' value='-' />
<input type="button" class='operator-button' id='equal' value='=' />
<input type="button" class='operator-button' id='clear' value='AC' />
</div>
</div>
<script src="app.js"></script>
</body>
const display = document.getElementById('calculator-display');
let firstNumber = null;
let secondNumber = null;
let operand = null;
function numberButtonClicked() {
document.querySelectorAll('.number-button').forEach(item => {
item.addEventListener('click', (e) => {
display.value += e.target.value;
})
})
};
function allClear() {
document.getElementById('clear').addEventListener('click', function() {
if(!display.value == '') {
display.value = '';
}
});
}
function operatorClicked() {
const operator = document.querySelectorAll('.operator-button');
operator.forEach(item => {
item.addEventListener('click', (e) => {
display.value = e.target.value;
})
})
}
operatorClicked();
allClear();
numberButtonClicked();
解决方案
推荐阅读
- html - 从没有标识符的网络中提取数据?
- wso2 - WSO2 - 目前在网关和集成器上称为 api
- azureservicebus - Azure 消息和 BrokeredMessage 之间的兼容性
- php - 获取结果并重新加载页面
- r - 如何在“git add”之后修复“警告:无法打开目录”。Mac OS X Maverick 上的命令
- python - 从包含字符串和数字的文本文件中读取元组列表
- node.js - Mustache - 检查对象数组中的布尔对象属性
- trustpilot - TrustPilot 创建邀请 API 始终返回 415 响应代码
- python - Looking to send Python API request using cURL
- java - 搜索后接口返回null