Система условных расчетов Javascript - PullRequest
0 голосов
/ 22 марта 2019

Это мой код:

function myFunction() {
    var x = document.getElementById("ins-feet").value;

    if(x>=0 && x<=1499) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 300;
    } else if(x>=1500 && x<=1999) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 320;
    } else if(x>=2000 && x<=2500) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 340;
    } else if(x>2500) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 340;
    }

}

Нужна помощь в последней строке.Когда x> 2500 id, «show-cost» будет показывать 340 + 0,10 для каждого дополнительного приращения.то есть x> 2501 = 340,1, x> 2502 = 340,2 и т. д.

1 Ответ

0 голосов
/ 22 марта 2019

Я не так уж и сложен:

Вам нужна разница между x и 2500, затем выполните простое вычитание.

Затем умножьте 0.1 на эту разницу, например, так:

340 + 0.1 * (x - 2500)

Теперь, чтобы избежать конкатенации, укажите это в скобках:

"Cost: $" + (340 + 0.1 * (x - 2500))

Итак, у вас будет следующее:

function myFunction() {
    var x = document.getElementById("ins-feet").value;

    if(x>=0 && x<=1499) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 300;
    } else if(x>=1500 && x<=1999) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 320;
    } else if(x>=2000 && x<=2500) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + 340;
    } else if(x>2500) {
        document.getElementById("show-cost").innerHTML = "Cost: $" + (340 + 0.1 * (x - 2500));
    }

}
...