Javascript-计算和比较

Javascript-计算和比较,javascript,compare,calculator,comparator,calc,Javascript,Compare,Calculator,Comparator,Calc,我正在学习JS,在我的实践中,我无法让脚本的第二部分为我工作 我有3个输入(#ancho-#fondo-#alto),其中我写整数作为它们之间的乘法,然后是除法此部件工作正常 现在问题来了: <input id="ancho"> <!-- Example value="22" --> <input id="fondo"> <!-- Example value="20" --> <input id="alto"> <!-- Exam

我正在学习JS,在我的实践中,我无法让脚本的第二部分为我工作

我有3个输入(
#ancho-#fondo-#alto
),其中我写整数作为它们之间的乘法,然后是除法此部件工作正常

现在问题来了:

<input id="ancho"> <!-- Example value="22" -->
<input id="fondo"> <!-- Example value="20" -->
<input id="alto"> <!-- Example value="16" -->

<input id="peso"> <!-- Example value="3" -->

<div id="resultado"></div>

<div id="hacercalculo" onclick="calcular();comparar()">Calcular</div>

<!--css display none-->

<div id="uno">1</div>
<div id="dos">2</div>
<div id="tres">3</div>
https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js
// Calculate - This part works fine

function calcular(){
  v1 = document.getElementById("ancho").value;
  v2 = document.getElementById("fondo").value;
  v3 = document.getElementById("alto").value;

  r = v1*v2*v3/4000;

  //document.getElementById("resultado").value = r;
  document.getElementById("resultado").innerHTML = r;
};

//=============

// Compare - This, It does not work for me

function comparar() {

    var camp1= document.getElementById("resultado");
    var camp2= document.getElementById("peso");

    //if (camp1.value >= 0 && camp2.value <= 3) {
    //if (camp1.innerText >= 0 && camp2.innerText <= 3) {
    //if (camp1.innerHTML >= 0 && camp2.value <= 3) {

      if (camp1.innerText >= 0 && camp2.value <= 3) {

        $("#uno").show(); // This, It does not work for me
    }
};
在第二部分中,我想比较值“r=“是否大于或小于输入
#peso
中写入的数字(por用户),但这对我不起作用

我做错了什么

请参见中的演示

提前谢谢


HTML:

<input id="ancho"> <!-- Example value="22" -->
<input id="fondo"> <!-- Example value="20" -->
<input id="alto"> <!-- Example value="16" -->

<input id="peso"> <!-- Example value="3" -->

<div id="resultado"></div>

<div id="hacercalculo" onclick="calcular();comparar()">Calcular</div>

<!--css display none-->

<div id="uno">1</div>
<div id="dos">2</div>
<div id="tres">3</div>
https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js
// Calculate - This part works fine

function calcular(){
  v1 = document.getElementById("ancho").value;
  v2 = document.getElementById("fondo").value;
  v3 = document.getElementById("alto").value;

  r = v1*v2*v3/4000;

  //document.getElementById("resultado").value = r;
  document.getElementById("resultado").innerHTML = r;
};

//=============

// Compare - This, It does not work for me

function comparar() {

    var camp1= document.getElementById("resultado");
    var camp2= document.getElementById("peso");

    //if (camp1.value >= 0 && camp2.value <= 3) {
    //if (camp1.innerText >= 0 && camp2.innerText <= 3) {
    //if (camp1.innerHTML >= 0 && camp2.value <= 3) {

      if (camp1.innerText >= 0 && camp2.value <= 3) {

        $("#uno").show(); // This, It does not work for me
    }
};
脚本:

<input id="ancho"> <!-- Example value="22" -->
<input id="fondo"> <!-- Example value="20" -->
<input id="alto"> <!-- Example value="16" -->

<input id="peso"> <!-- Example value="3" -->

<div id="resultado"></div>

<div id="hacercalculo" onclick="calcular();comparar()">Calcular</div>

<!--css display none-->

<div id="uno">1</div>
<div id="dos">2</div>
<div id="tres">3</div>
https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js
// Calculate - This part works fine

function calcular(){
  v1 = document.getElementById("ancho").value;
  v2 = document.getElementById("fondo").value;
  v3 = document.getElementById("alto").value;

  r = v1*v2*v3/4000;

  //document.getElementById("resultado").value = r;
  document.getElementById("resultado").innerHTML = r;
};

//=============

// Compare - This, It does not work for me

function comparar() {

    var camp1= document.getElementById("resultado");
    var camp2= document.getElementById("peso");

    //if (camp1.value >= 0 && camp2.value <= 3) {
    //if (camp1.innerText >= 0 && camp2.innerText <= 3) {
    //if (camp1.innerHTML >= 0 && camp2.value <= 3) {

      if (camp1.innerText >= 0 && camp2.value <= 3) {

        $("#uno").show(); // This, It does not work for me
    }
};
//计算-这部分工作正常
函数演算(){
v1=document.getElementById(“ancho”).值;
v2=document.getElementById(“fondo”).value;
v3=document.getElementById(“alto”).value;
r=v1*v2*v3/4000;
//document.getElementById(“resultado”).value=r;
document.getElementById(“resultado”).innerHTML=r;
};
//=============
//相比之下,这对我来说不起作用
功能比较程序(){
var camp1=document.getElementById(“resultado”);
var camp2=document.getElementById(“比索”);

//如果(camp1.value>=0&&camp2.value=0&&camp2.innerText=0&&camp2.value=0&&camp2.value如果
r
大于或小于
peso
,则
r!=peso
。以下
comparer
函数应处理第二部分

function comparar() {
    var camp1= document.getElementById("resultado").innerHTML;
    var camp2= document.getElementById("peso").value;

    if (Number(camp1) != Number(camp2)) {
        $("#uno").show(); // condition met hence #uno rendered.
    }
};

你的代码有一些问题,因此我没有工作 首先,您应该使用textContent获取值
var camp1=document.getElementById(“resultado”).textContent;
其次,您将检索两次该值

 var camp2= document.getElementById("peso").value;
if (camp1 >= 0 && camp2.value <= 3) 
var camp2=document.getElementById(“比索”).value;
if(camp1>=0&&camp2.value=0&&camp2=0&&camp2.value=0&&camp2只是对comparer()函数中“if语句”的一个小修改

文本内容必须转换为数字

if (Number(camp1.textContent) >= 0 && camp2.value <= 3) {

    $("#uno").show();
}

if(Number(camp1.textContent)>=0&&camp2.value根据您所说的,您需要检查这些值​​在某个范围内,并且希望检查它是否有小数位数,因此我将创建两个函数来执行这两个检查

用于检查某个值是否在某个范围内的函数:

功能间隔(a、b、c){

return((b-a)*(b-c)'在第二部分中,我想比较值“r=”是否大于或小于输入比索中写入的数字(por用户),但这对我不起作用。'请查看r和权重之间的比较条件:
if(camp1.innerHTML>=0&&camp2.value它应该类似于:
if(camp1.innerHTML>=camp2.value){//true}
@AksJacoves…我理解您的方法(谢谢),但我想比较设置的值​​(介于0和1之间、介于1和3之间、介于3和5之间、介于5和10之间,等等)。有什么想法可以解决吗?谢谢!请重新阅读您在问题中所写的内容:在第二部分中,我想比较值“r=”是否大于或小于所写的数字(或用户)在输入#比索中,但它对我不起作用。是的,我还认为问题可能是将字符串与整数进行比较。