【问题标题】:How to add 3 results with js?如何用js添加3个结果?
【发布时间】:2016-05-12 15:44:54
【问题描述】:

如何用 js 添加 3 个结果?我的意思是我有 3 个计算器,每个都得到一个结果。如何将它们组合成一个结果?就像如果一个是 3 而另一个是 7 它会得到我:10 l。但是 3 和 7 是其他乘法的结果……对我来说,我必须计算 c + f + j。这是我的代码:

var a = document.getElementById("a");
var b = document.getElementById("b");
var c = document.getElementById("c");
var d = document.getElementById("d");
var e = document.getElementById("e");
var f = document.getElementById("f");
var h = document.getElementById("h");
var i = document.getElementById("i");
var j = document.getElementById("j");
var astored = a.getAttribute("data-in");
var bstored = b.getAttribute("data-in");
var dstored = d.getAttribute("data-in");
var estored = e.getAttribute("data-in");
var hstored = h.getAttribute("data-in");
var istored = i.getAttribute("data-in");

function calculate(input1, input2, output) {
    output.innerHTML = input1.value * input2.value;
}

setInterval(function(){
    var temp;

    if (a == document.activeElement) {
        temp = a.value;
        if (astored != temp){
            astored = temp;
            a.setAttribute("data-in",temp);
            calculate(a, b, c);
        }
    } else if (b == document.activeElement) {
        temp = b.value;
        if (bstored != temp) {
            bstored = temp;
            b.setAttribute("data-in",temp);
            calculate(a, b, c);
        }
    } else if (d == document.activeElement) {
        temp = d.value;
        if (dstored != temp) {
            dstored = temp;
            d.setAttribute("data-in",temp);
            calculate(d, e, f);
        }
    } else if (e == document.activeElement) {
        temp = e.value;
        if (estored != temp) {
            estored = temp;
            e.setAttribute("data-in",temp);
            calculate(d, e, f);
        }
    } else if (h == document.activeElement) {
        temp = h.value;
        if (hstored != temp) {
            hstored = temp;
            h.setAttribute("data-in",temp);
            calculate(h, i, j);
        }
    } else if (i == document.activeElement) {
        temp = i.value;
        if (istored != temp) {
            istored = temp;
            i.setAttribute("data-in",temp);
            calculate(h, i, j);
        }
    }
}, 50);

a.onblur = calculate(a, b, c);
b.onblur = calculate(a, b, c);
d.onblur = calculate(d, e, f);
e.onblur = calculate(d, e, f);
h.onblur = calculate(h, i, j);
i.onblur = calculate(h, i, j);
calculate(a, b, c);
calculate(d, e, f);
calculate(h, i, j);

【问题讨论】:

  • 你可以简单地添加三个结果,就像你在 Javascript 中提到的那样:var result = c + f + j;
  • @SpencerWieczorek 它不起作用...

标签: javascript add


【解决方案1】:

创建一个名为 sum_stuff 的新函数:

function sum_stuff(input1, input2, input3, output) {
    output.innerHTML = parseInt( input1.innerHTML ) + parseInt( input2.innerHTML ) + parseInt( input3.innerHTML );
}

然后这样称呼它:

sum_stuff(c, f, j, elem_to_print_into);

elem_to_print_into 是另一个输入字段

【讨论】:

  • 它给了我 NaN !我创建了函数 sum_stuff(我将其命名为 add)并将其命名为 add(c, f, j, elem_to_print_into);但它根本不起作用!在 HTML 中,我添加了
    。顺便说一句,我的网站需要它:touficapks.ml/seconds。 JS 位于:touficapks.ml/seconds/js/scripts.js。我需要将年份添加到月份中...感谢您的帮助
  • 尝试将 add(c, f, j, elem_to_print_into);在 setInterval 内部函数的末尾调用,在最后一个 else 之后,因为现在 add 函数只调用一次,在页面初始化时,所以显然它无法计算任何东西
  • 好的,我试试,你看过网站了吗?
  • 是的,我根据我在网站上看到的内容写了上面的解释。我昨天没有回复,因为 我的代码有什么问题??它不起作用 没有任何东西可以看是不是很丰富
  • 最后一个else之后是什么意思??那很好吗? (见网站上的js)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 2014-04-14
  • 2021-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多