老师,麻烦检查一下代码

来源: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回答

好帮手慕言

2019-10-17

同学你好,使用同学的代码进行测试,是有问题的。

当在输入框中输入了数字,点击=号时,并不会计算出结果,如下:

http://img.mukewang.com/climg/5da82d5c0945beba07000060.jpg

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

代码参考:

http://img.mukewang.com/climg/5da82e16095350c210550566.jpg

祝学习愉快~

0

0 学习 · 14456 问题

查看课程