通过增加一个值,另一个值增加了该数量

时间:2021-01-28 19:26:32

标签: javascript multiplication

所以我有这个代码,我想用一个按钮增加数量,通过增加数量,重量会随之改变。

下面代码的结果,通过点击按钮innerText更改为 例如

1 件 = 8 克
2 件 = 16 克
3piece = 48 g -> 这是问题 - 我希望数字增加第一个值 (3 * 8 = 24),但它正在做 (3 * 16)

如何在乘法时将权重变量设置为固定?权重不是设置在 8 上的变量,但对于每个元素都有不同的值,这就是它在 const 中调用的原因。元素来自数组映射中的 JSON 文件

let amount = document.getElementById('amount');
let weight = document.getElementById('weight');

function add(am, wg) {
    {
        amount = parseInt(document.getElementById(am).innerText);
        weight= parseInt(document.getElementById(wg).innerText);
        amount++
        
        let totalPt = weight * amount

        document.getElementById(am).innerText = amount;
        document.getElementById(wg).innerText = totalPt;
    }
}

2 个答案:

答案 0 :(得分:1)

您需要知道每个重量的数量(只需执行 weight / amount),然后您可以将其乘以增加的数量

function add(am, wg) {
            amount = parseInt(document.getElementById(am).innerText);
            weight = parseInt(document.getElementById(wg).innerText);
            baseweight = weight / amount;

            amount++;
            
            let totalPt = baseweight * amount;
    
            document.getElementById(am).innerText = amount;
            document.getElementById(wg).innerText = totalPt;
}

答案 1 :(得分:0)

如果您希望在乘法时将权重固定为 8,那么只需将数量设置为另一个变量并在乘法运算中使用该变量。

在下面的代码中,我使用了 fixedWeight 来存储每单位的固定重量。您可以在乘法时使用此变量。

function add(am, wg) {
    {
        amount = parseInt(document.getElementById(am).innerText);
        weight= parseInt(document.getElementById(wg).innerText);
        const fixedWeight = 8;
        amount++
    
        let totalPt = fixedWeight * amount

        document.getElementById(am).innerText = amount;
        document.getElementById(wg).innerText = totalPt;
    }
}