javascript - Javascript 计算器 if 语句不起作用
问题描述
我希望我的计算器在第一个值中插入数字,直到单击运算符(如 +)。然后插入的数字应该转到第二个值。
如果我单击 + 它不会切换到第一个 if 语句。
let clicked = 0;
console.log('startValue: ' + clicked);
operatorPlus_div.addEventListener('click', () => {
clicked = 1;
operator_div.innerHTML += '+';
console.log('clickedValue: ' + clicked);
})
function calc() {
//----------second-Value----------
if (clicked === 1) {
valueOne_p.addEventListener('click', () => {
secondValue += one;
secondValue_div.innerHTML += one;
console.log('secondValue');
})
valueTwo_p.addEventListener('click', () => {
secondValue += two;
secondValue_div.innerHTML += two;
})
//----------first-Value----------
} else if (clicked === 0) {
valueOne_p.addEventListener('click', () => {
firstValue += one;
firstValue_div.innerHTML += one;
console.log(clicked + ' firstValue');
console.log(operator_div.innerHTML);
})
valueTwo_p.addEventListener('click', () => {
firstValue += two;
firstValue_div.innerHTML += two;
console.log(clicked + ' firstValue');
})
}
}
calc();
这是html:
<!DOCTYPE html>
<html>
<head>
<title>myCalc</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="media/css/style.css">
<link rel="shortcut icon" type="image/x-icon" href="media/images/fav-icon.png">
</head>
<body>
<div class="wrapper">
<div class="container-all">
<div id="heading">
<h1>myCalc</h1>
</div>
<div class="container-input-showcase">
<div id="first-value"></div>
<div id="operator"></div>
<div id="second-value">
</div>
<div class="underline"></div>
</div>
<div class="container-result">
<div id="result">
</div>
</div>
<div class="container-input">
<div class="input" id="value-zero">
<p>0</p>
</div>
<div class="input" id="value-one">
<p>1</p>
</div>
<div class="input" id="value-two">
<p>2</p>
</div>
<div class="input" id="value-three">
<p>3</p>
</div>
<div class="input" id="value-four">
<p>4</p>
</div>
<div class="input" id="value-five">
<p>5</p>
</div>
<div class="input" id="value-six">
<p>6</p>
</div>
<div class="input" id="value-seven">
<p>7</p>
</div>
<div class="input" id="value-eight">
<p>8</p>
</div>
<div class="input" id="value-nine">
<p>9</p>
</div>
<div class="input" id="operator-plus">
<p>+</p>
</div>
<div class="input" id="operator-minus">
<p>-</p>
</div>
<div class="input" id="operator-multiply">
<p>*</p>
</div>
<div class="input" id="operator-divide">
<p>/</p>
</div>
<div class="reset">
<p>CE</p>
</div>
<div class="equals">
<p>=</p>
<div clearer></div>
</div>
</div>
</div>
</div>
<script src="media/script/app.js"></script>
</body>
</html>
我现在将他的 calc () 放在 operatorPlus_div.addEventListener 函数中,如果我单击 +,则单击的下一个数字会在 secondValue 中跳转。但它也被插在了 firstValue 中。
解决方案
推荐阅读
- ios - 约束冲突,因为我无法停用约束
- python - 从python中的城市道路中提取图形并在networkx中使用它
- regex - 正则表达式匹配是/否
- mysql - Error binding mariadb nodejs docker-compose
- node.js - 从 nodeJS 连接到我的 vpc 上的 documnetDB 集群
- tensorflow - 有谁知道如何在 ECS 中为 tensorflow-serving 制作负载均衡器?
- r - 在R中阅读带有包装文本的pdf
- pm2 - PM2 部署失败并显示“不是 git 存储库”消息
- java - 与学生一起创建一个文件,并查看平均成绩高于 5 的学生的信息以及每个学生的平均成绩
- powershell - Powershell:当 MainWindowTitle 为空时如何获取窗口标题