为了账号安全,请及时绑定邮箱和手机立即绑定

为什么先把 两个变量 定义好 其结果会变成NAN呢?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        input { width: 60px; }
        div { margin: 10px 0 }
    </style>
    <script type="text/javascript">
        window.onload = function () {

            // 获取元素
            var num1 = document.getElementById('num1');
            var num2 = document.getElementById('num2');
            var ret = document.getElementById('ret');
            var btns = document.getElementsByTagName('button');
    

            //为按钮添加点击事件,计算结果
            var x = parseInt(num1.value);
            var y = parseInt(num2.value);
            
            btns[0].onclick = function(){
                ret.innerHTML =(x+y);
            }
            btns[1].onclick = function(){
                ret.innerHTML =(x-y);
            }
            btns[2].onclick = function(){
                ret.innerHTML =(x*y);
            }
            btns[3].onclick = function(){
                ret.innerHTML =(x/y);
            }
           
            
            
            
            
        }
    </script>
</head>
<body>
<input id="num1" type="text"  />
<input id="num2" type="text" />
<div>结果:<span id="ret"></span></div>
<button>+</button>
<button>-</button>
<button>*</button>
<button>/</button>
</body>
</html>


正在回答

3 回答

你那样写会得到一个空值,所以是NAN


0 回复 有任何疑惑可以回复我~

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        input { width: 60px; }
        div { margin: 10px 0 }
    </style>
   
</head>
<body>
<input id="num1" type="text" value=""/>
<input id="num2" type="text" value=""/>
<div>结果:<span id="ret"></span></div>
<button>+</button>
<button>-</button>
<button>*</button>
<button>/</button>
 <script type="text/javascript">
        window.onload = function () {

            // 获取元素
            var num1 = document.getElementById('num1');
            var num2 = document.getElementById('num2');
            var ret = document.getElementById('ret');
            var btns = document.getElementsByTagName('button');
            var p = parseInt;
        

            //为按钮添加点击事件,计算结果
           
            for(var i=0;i<btns.length;i++){
                btns[i].onclick = function(){
                    var p1 = p(num1.value);
                    var p2 = p(num2.value);
                        btns[0].onclick = function(){                 
                            ret.innerHTML = p1 + p2;
                        }
                         btns[1].onclick = function(){
                            ret.innerHTML = p1 - p2;
                        }
                        btns[2].onclick = function(){
                            ret.innerHTML = p1 * p2;
                        }
                         btns[3].onclick = function(){
                            ret.innerHTML = p1 / p2;
                        }
                 }
            }
            
            
            
            
       }
    </script>



</body>
</html>

0 回复 有任何疑惑可以回复我~

你刚加载的时候输入框里面没有内容,你输入内容之后,变量中还是以前的空内容,没有触发更新为你输入的新值,你把获取输入值放到onclick时间里面就好了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
用JS实现购物车特效
  • 参与学习       43235    人
  • 解答问题       167    个

通过JavaScript实现类似淘宝网络购物车功能效果

进入课程
意见反馈 帮助中心 APP下载
官方微信