有减去两个数字并除的函数

时间:2019-04-04 20:31:14

标签: javascript jquery

我正在尝试将两个数字相减并将结果除以另一个 数字,到目前为止,我有http://jsfiddle.net/rfen3mx6/

<p id='answer'>  </p>
<input type='number' max='10' min='0' name='num1' id=num1 class=sub>
<input type='number' max='5' min='0' name='num2' id=num2 class=sub>
<input type='number' max='5' min='0' name='num3' id=num3 class=add>

 $("#num2").keyup(function(){
$("#answer").html('');
var n1 = $("#num1").val();
var n2 = $("#num2").val();
 var n3 = $("#num3").val();
var ans = n1 - n2 / n3;
$("#answer").html(ans);
  }); 

 $("#num1").keyup(function(){
 $("#answer").html('');
  var n1 = $("#num1").val();
 var n2 = $("#num2").val();
 var n3 = $("#num3").val();
 var ans = n1 - n2 / n3 ;
  $("#answer").html(ans);
  }); 
$("#num3").keyup(function(){
$("#answer").html('');
var n1 = $("#num1").val();
var n2 = $("#num2").val();
var n3 = $("#num3").val();
var ans = n1 - n2 / n3 ;
 $("#answer").html(ans);
 });

2 个答案:

答案 0 :(得分:0)

在表达式中,除法和乘法将在减法之前发生。以下表达式的计算方式类似于

5-4/2   -->   5-2   --> 3

您应该在(5-4)周围使用方括号来获得0.5

现在,您应该做的第二件事是创建一个函数,该函数需要3个数字,并返回结果以避免重复。

function func(){
   var n1 = $("#num1").val()
   var n2 = $("#num2").val()
   var n3 = $("#num3").val();
   $("#answer").html((a1-a2)/a3)
}


$("#num2,#num3,#num1").keyup(func); 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id='answer'>  </p>
 <input type='number' max='10' min='0' name='num1' id=num1 class=sub>
 <input type='number' max='5' min='0' name='num2' id=num2 class=sub>
  <input type='number' max='5' min='0' name='num3' id=num3 class=add>

答案 1 :(得分:0)

我认为让您的代码绊倒的是num3没有默认设置,所以您经常会得到无限。

尝试类似这样的方法。我只是简单地组合了键盘,将圆括号添加到公式中,提升了变量,并对要除以的数字进行了校验和默认设置。

http://jsfiddle.net/nnoom/2w0nt7cv/18/

<p id='answer'></p>
<input type='number' max='10' min='0' name='num1' id=num1 class=sub>
<input type='number' max='5' min='0' name='num2' id=num2 class=sub>
<input type='number' max='5' min='0' name='num3' id=num3 class=add value='1'>

<script>
$("#num1, #num2, #num3").keyup(function(){
  var n1, n2, n3 = 1, ans;
  $("#answer").html('');
  n1 = $("#num1").val();
  n2 = $("#num2").val();
  if ($("#num3").val()) {
    n3 = $("#num3").val();
  }
  ans = (n1 - n2) / n3;
  $("#answer").html(ans);
});
</script>