老师,麻烦检查一下代码
来源:4-8 编程练习
林迦叶
2019-10-17 16:45:30
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
</head>
<body>
<input type='text' id='num1' />
<select id='operate'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='num2' />
<input type='button' value=' = ' onclick="count()" />
<input type='text' id='result' />
<script type="text/javascript">
function count() {
// 此处写代码
var getElem = function( selector ){
return document.querySelector(selector);
}
var formerInput = getElem('#num1');
var laterInput = getElem('#num2');
var result = getElem('#result');
var sign = getElem('#operate');
var options = sign.getElementsByTagName('option');
// 绑定事件
sign.onchange=function(){
switch (this.value) {
case '+':
outputResult(add(formerInput.value, laterInput.value));
break;
case '-':
outputResult(subtract(formerInput.value, laterInput.value));
break;
case '*':
outputResult(multiply(formerInput.value, laterInput.value));
break;
case '/':
outputResult(divide(formerInput.value, laterInput.value));
break;
}
}
// 加法
function add(num1, num2) {
return +num1 + +num2;
}
// 减法
function subtract(num1, num2) {
return num1 - num2;
}
// 乘法
function multiply(num1, num2) {
return num1 * num2;
}
// 除法
function divide(num1, num2) {
return num1 / num2;
}
// 输出结果
function outputResult(outcome){
result.value = outcome;
}
}
</script>
</body>
</html>在switch判断那里好像出了小问题
1回答
同学你好,使用同学的代码进行测试,是有问题的。
当在输入框中输入了数字,点击=号时,并不会计算出结果,如下:

建议:去掉onchange事件,判断sign.value就可以。
代码参考:

祝学习愉快~
相似问题