老师麻烦看下代码遇到个问题我写在代码注释里面了
1 | <!DOCTYPE html>< br >< html lang = "en" >< br >< head >< br > < meta charset = "UTF-8" >< br > < meta http-equiv = "X-UA-Compatible" content = "IE=edge" >< br > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >< br > < title >Document</ title >< br ></ head >< br >< body >< br > < input type = 'text' id = 'num1' />< br > < select id = 'operate' >< br > < option value = '+' >+</ option >< br > < option value = "-" >-</ option >< br > < option value = "*" >*</ option >< br > < option value = "/" >/</ option >< br > </ select >< br > < input type = 'text' id = 'num2' />< br > < input type = 'button' value = ' = ' id = "btn" />< br > < input type = 'text' id = 'result' />< br > < script >< br > //先取到每个节点< br > var num1 = document.getElementById('num1');< br > var select_s = document.getElementById('operate');< br > var num2 = document.getElementById('num2');< br > var btn = document.getElementById('btn');< br > var result = document.getElementById('result');< br > //定义了一个盒子sum来装计算结果< br > var sum = 0;< br > //监听事件来决定进行什么运算然后把结果装进sum< br > select_s.onclick = function () {< br > var ysf = select_s.value;< br > switch (ysf) {< br > case '+':< br > sum = Number(num1.value) + Number(num2.value);< br > console.log(sum);< br >< br > break;< br > case '-':< br > sum = num1.value - num2.value;< br > break;< br > case '*':< br > sum = num1.value * num2.value;< br > break;< br > case '/':< br > sum = num1.value / num2.value;< br > break;< br >< br > default:< br > break;< br > }< br >< br > }< br > //但是不知道为什么这sum值并没有变化,我是定义的全局变量sum啊,,,老师求解< br > console.log(sum);< br > btn.onclick = function () {< br >< br > result.innerHTML = sum;< br > }< br > </ script >< br ></ body >< br ></ html >< br > |
26
收起
正在回答 回答被采纳积分+1
2回答
qq_口天吴_0
2021-04-01 12:24:35
1 | <!DOCTYPE html>< br >< html lang = "en" >< br >< br >< head >< br > < meta charset = "UTF-8" >< br > < meta http-equiv = "X-UA-Compatible" content = "IE=edge" >< br > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >< br > < title >Document</ title >< br ></ head >< br >< br >< body >< br > < input type = 'text' id = 'num1' />< br > < select id = 'operate' >< br > < option value = '+' >+</ option >< br > < option value = "-" >-</ option >< br > < option value = "*" >*</ option >< br > < option value = "/" >/</ option >< br > </ select >< br > < input type = 'text' id = 'num2' />< br > < input type = 'button' value = ' = ' id = "btn" />< br > < input type = 'text' id = 'result' />< br > < script >< br > //先取到每个节点< br > var num1 = document.getElementById('num1');< br > var select_s = document.getElementById('operate');< br > var num2 = document.getElementById('num2');< br > var btn = document.getElementById('btn');< br > var result = document.getElementById('result');< br > //定义了一个盒子sum来装计算结果< br > var sum = 0;< br > //监听事件来决定进行什么运算然后把结果装进sum< br > // 监听 "=" 按钮 btn 而不是监听选择按钮 + - * / < br > // select_s.onclick = function () {< br > btn.onclick = function () {< br > var ysf = select_s.value;< br > switch (ysf) {< br > case '+':< br > sum = Number(num1.value) + Number(num2.value); < br > console.log(sum);< br >< br > break;< br > case '-':< br > sum = num1.value - num2.value;< br > break;< br > case '*':< br > sum = num1.value * num2.value;< br > break;< br > case '/':< br > sum = num1.value / num2.value;< br > break;< br >< br > default:< br > break;< br > } < br > //代码要移动到这里< br > result.value = sum;< br > }< br > //但是不知道为什么这sum值并没有变化,我是定义的全局变量sum啊,,,老师求解< br > console.log(sum);< br > // btn.onclick = function () {< br >< br > // // result.innerHTML = sum;< br > // // 计算结果sum 是要变成 result的值(value).而不是变成代码< br > // // 而且要在一次监听里面完成计算, 如果分开代码应该是覆盖了,重写了.< br > // result.value = sum;< br > // }< br > </ script >< br ></ body >< br >< br ></ html >< br > |
首先,我也是自学的,不是老师.解释不一定正确.但是代码已经实现功能了.
其次你这个代码的逻辑也太乱了,我记得回答里面还是笔记里面有一个标准答案,我也是参考那个的.我一开始写的稍微比较乱,但没你这么乱.我记得我有发布在笔记里面
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧