Добавления в калькулятор дополнительного условия
Добрый день.
У меня возникла следующая проблема, я написал калькулятор который работает в IE, Opera, chrome и т.д. Прошу обратить внимание на следующий элемент площадь SQ, которая равна произведению длины dlin1 в мм на ширину shir1 в ММ document.body.onload = function() { function calc1() { var d = document, price = tolshi = dostavka = ustanovka = bortik = moika = 0; shir1 = +d.getElementById("shir").value, dlin1 = +d.getElementById("dlin").value, sq = (shir1 * dlin1 / 1000000), color1 = d.getElementById("color1"), color2 = d.getElementById("color2"), color3 = d.getElementById("color3"), color4 = d.getElementById("color4"), tolsh1 = d.getElementById("tolsh1"), tolsh2 = d.getElementById("tolsh2"), tolsh3 = d.getElementById("tolsh3"), tolsh4 = d.getElementById("tolsh4"), bort1 = d.getElementById("bort1"), bort2 = d.getElementById("bort2"), dost = d.getElementById("dost"), ust = d.getElementById("ust"), moi = d.getElementById("moi"), result = d.getElementById("result"), kol = d.getElementById("kol"); if (color1.checked) price = +color1.value; if (color2.checked) price = +color2.value; if (color3.checked) price = +color3.value; if (color4.checked) price = +color4.value; if (tolsh1.checked) tolshi = +tolsh1.value; if (tolsh2.checked) tolshi = +tolsh2.value; if (tolsh3.checked) tolshi = +tolsh3.value; if (tolsh4.checked) tolshi = +tolsh4.value; if (bort1.checked) bortik = +bort1.value; if (bort2.checked) bortik = +bort2.value; if (dost.checked) dostavka = +dost.value; if (ust.checked) ustanovka = +ust.value if (moi.checked) moika = +moi.value result.innerHTML = Math.round(sq * (price + tolshi) + dostavka + ustanovka + moika +bortik* dlin1/1000); }; document.form.onclick = calc1; calc1(); } </script> Однако позже понял, что если длина * ширину меньше метра квадратного, то площадь SQ все равно должна быть равна одному квадратному метру, поэтому я добавил аргумент SQUARE <script> document.body.onload = function() { function calc1() { var d = document, square = price = tolshi = dostavka = ustanovka = bortik = moika = 0; shir1 = +d.getElementById("shir").value, dlin1 = +d.getElementById("dlin").value, sq = (shir1 * dlin1 / 1000000), color1 = d.getElementById("color1"), color2 = d.getElementById("color2"), color3 = d.getElementById("color3"), color4 = d.getElementById("color4"), tolsh1 = d.getElementById("tolsh1"), tolsh2 = d.getElementById("tolsh2"), tolsh3 = d.getElementById("tolsh3"), tolsh4 = d.getElementById("tolsh4"), bort1 = d.getElementById("bort1"), bort2 = d.getElementById("bort2"), dost = d.getElementById("dost"), ust = d.getElementById("ust"), moi = d.getElementById("moi"), result = d.getElementById("result"), kol = d.getElementById("kol"); if (sq <= 1) square = 1; else if (sq => 1) square = sq; if (color1.checked) price = +color1.value; if (color2.checked) price = +color2.value; if (color3.checked) price = +color3.value; if (color4.checked) price = +color4.value; if (tolsh1.checked) tolshi = +tolsh1.value; if (tolsh2.checked) tolshi = +tolsh2.value; if (tolsh3.checked) tolshi = +tolsh3.value; if (tolsh4.checked) tolshi = +tolsh4.value; if (bort1.checked) bortik = +bort1.value; if (bort2.checked) bortik = +bort2.value; if (dost.checked) dostavka = +dost.value; if (ust.checked) ustanovka = +ust.value if (moi.checked) moika = +moi.value result.innerHTML = Math.round(square * (price + tolshi) + dostavka + ustanovka + moika +bortik* dlin1/1000); }; document.form.onclick = calc1; calc1(); } </script> И он отказывается работать в IE, однако в Хроме работает. Уважаемые форумчане, может у вас будут предложения как более корректно прописать то, что если dlin1*shir1/1000000 меньше метра, то площадь все равно будет равна единице. Заранее благодарю. |
Цитата:
|
Уважаемый ksa,
Не могли бы вы более подробно написать про циклы? И зачем их использовать в калькуляторе? Признаюсь я абсолютный профан в этом деле. Спасибо. |
Цитата:
http://javascript.ru/for Цитата:
|
Часовой пояс GMT +3, время: 15:50. |