当前位置: 首页 > 知识库问答 >
问题:

基本计算器不能工作,因为JS?

吕自怡
2023-03-14

我正试图建立一个基本的计算器,但我的代码不加起来。我的计算器应该做的是对输入num1和NUM2中插入的两个数进行加、减、除或乘。然后将答案打印在空的div中,并将答案作为ID。

null

var numbers = new Object();
numbers.num1 = -1;
numbers.num2 = -1;

$("#num1").bind("keyup mouseup", function() {
  numbers.num1 = ("#num1").val();

});

$("num1").bind("keyup mouseup", function() {
  numbers.num2 = ("num2").val();
});

$("#add").on("click", function() {
  var add = numbers.num1 + numbers.num2;
  $("#answer").text(add);
});

$("#substract").on("click", function() {
  var subs = numbers.num1 - numbers.num2;
  $("#answer").text(subs);
});

$("#multiply").on("click", function() {
  var multi = numbers.num1 * numbers.num2;
  $("#answer").text(multi);
});

$("#divide").on("click", function() {
  var div = numbers.num1 / numbers.num2;
  $("#answer").text(div)

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="user-inputs">
  <form>
    <input type="number" name="inputNum1" id="num1">
  </form>
  <form>
    <input type="number" name="inputNum2" id="num2">
  </form>
</div>
<div class="functions">
  <button id="add">add</button>
  <button id="substract">substract</button>
  <button id="multiply">multiply</button>
  <button id="divide">divide</button>
</div>

<h2 id="answer"></h2>

null

共有3个答案

邴修远
2023-03-14

您忘记在这几行中加上$,在最后一行中加上#

$("#num1").bind("keyup mouseup", function(){
    numbers.num1 = $("#num1").val();

});

$("#num1").bind("keyup mouseup",  function(){
    numbers.num2 = $("#num2").val();
});
何骞尧
2023-03-14

您的代码有几个问题:

>

  • 您缺少jQuery的$以及元素选择器中的#

    $("#num1").bind("keyup mouseup", function(){
        numbers.num1 = $("#num1").val();
    
    });
    
    $("#num2").bind("keyup mouseup",  function(){
        numbers.num2 = $("#num2").val();
    });
    

    您没有将这些数字转换成一个数字。输入值被视为字符串,因此您需要将其转换为一个数字,以便JavaScript将正确计算它们:

    $("#num1").bind("keyup mouseup", function(){
        numbers.num1 = parseInt($("#num1").val(), 10);
    
    });
    
    $("#num2").bind("keyup mouseup",  function(){
        numbers.num2 = parseInt($("#num2").val(), 10);
    });
    

    parseint函数的第二个参数是基数,在本例中为10。)

  • 董鸣
    2023-03-14

    你的代码中有一些错误。例如,

    numbers.num2 = ("num2").val();
    

    是错误的,因为必须使用$签名才能访问jquery对象。

    numbers.num2 = $("num2").val();
    

    此外,数字的sum是数字的级联,因为您忘记了使用parseint()函数或其他方法转换为数字。

    null

    var numbers = new Object();
        numbers.num1 = -1;
        numbers.num2 = -1;
    
    $("#num1").bind("keyup mouseup", function(){
        numbers.num1 = $("#num1").val();
    
    });
    
    $("#num2").bind("keyup mouseup",  function(){
        numbers.num2 = $("#num2").val();
    });
    
    $("#add").on("click", function(){
        var add = +numbers.num1 +(+ numbers.num2);
        $("#answer").text(add);
    });
    
    $("#substract").on("click", function(){
        var subs = numbers.num1 - numbers.num2;
        $("#answer").text(subs);
    });
    
    $("#multiply").on("click", function(){
        var multi = numbers.num1 * numbers.num2;
        $("#answer").text(multi);
    });
    
    $("#divide").on("click", function(){
        var div = numbers.num1/numbers.num2;
        $("#answer").text(div)
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="user-inputs">
        <form>
            <input type="number" name="inputNum1" id="num1">
        </form>
        <form>
            <input type="number" name="inputNum2" id="num2">
        </form>
    </div>
    <div class = "functions">
    <button id="add">add</button>
    <button id="substract">substract</button>
    <button id="multiply">multiply</button>
    <button id="divide">divide</button>
    </div>
    
    <h2 id="answer"></h2>
    </body>
    </html>
     类似资料:
    • 我希望文本视图每按一次按钮增加2.5,但应用程序一直崩溃。我试着使用数字选择器,但我不喜欢它的垂直方向。我决定做我自己的,后来我添加了长按功能,但现在我正在试验按钮。 这是logcat中的堆栈: 致命异常:主进程:com。实例卢克。maxbenchcalculator,PID:2281 java。lang.RuntimeException:无法启动活动组件信息{com.example.luke.m

    • 本文向大家介绍JS实现基本的网页计算器功能示例,包括了JS实现基本的网页计算器功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现基本的网页计算器功能。分享给大家供大家参考,具体如下: 运行效果: 网页计算机: 利用css进行div的布局设置基本的计算机的基本的框架, 在其内部设置text进行显示,利用button添加按钮。 一个主要的点:我们要在按按钮的时候,把数据输出到te

    • 问题内容: 我是Java图形设计的新手,如果可能的话,我希望您能通过一个简单的示例帮助我,以帮助我了解JFrames,Timer,SwingControllers以及所有这些东西的基本功能。您将如何实现以下情况: 我们有一个内部带有JPanel的JFrame。执行开始时,JPanel为白色,但我们希望它每两秒钟更改一次其颜色: 最初,我在setBackgroud()方法之间使用了线程对象的slee

    • 我在我的android应用程序项目中安装了multidex解决方案,在“Google Play Dev”中,人们会遇到如下错误: 据我所知,我已经正确安装了multidex(阅读了关于此错误的其他来源&multidex) 是的。我用ProGuard。

    • 问题内容: 我需要一种在PHP中添加“工作日”的方法。例如,星期五12/5 + 3个工作日=星期三12/10。 至少我需要使用代码来理解周末,但理想情况下,它也应考虑美国联邦假日。我敢肯定,如有必要,我可以提出一种蛮力的解决方案,但我希望那里有一种更优雅的方法。任何人? 谢谢。 问题答案: 这是PHP手册中date()函数页面上用户注释的函数。它是对注释中早期功能的改进,增加了对leap年的支持。

    • 我正在使用Bootstrap开发一个网站,最近我在这里问了一个问题,因为CSS中的一些自定义简单行不起作用。我发现使用诸如jsfiddle或codepen这样的开发站点,代码可以工作,但我仍然无法让它在我的计算机中工作。 我需要安装做某事还是安装某事?我想这可能是不使用web服务器的问题,但我只是安装了XAMPP而什么也没有... 最后,我使用的是XAMPP,路径为xampp_path/etsit