18.07.2016, 18:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
qumo,
а куда делось от 1 до 1.25 и каким образом изменился шаг с 0.1 до 0.01 -- эти чудеса как-то разъяснить треба?!
|
|
18.07.2016, 18:42
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 51
|
|
Сообщение от рони
|
qumo,
а куда делось от 1 до 1.25 и каким образом изменился шаг с 0.1 до 0.01 -- эти чудеса как-то разъяснить треба?!
|
Это я изменил. Извиняюсь, что не предупредил об изменениях это требуется для точности при вводе, чтобы было до сотых - за каждый грамм=)
|
|
18.07.2016, 19:09
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от qumo
|
Это я изменил.
|
а что и как вы изменили?пока ни ваши обяснения, ни код, не о чём не говорят.
|
|
18.07.2016, 20:10
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 51
|
|
$(function() {
var price = document.getElementById('answer'),
ems_price = 2200;
avia_price = 2500;
sal_price = 2700;
parohod_price = 1800;
price.innerHTML = ems_price;
function question() {
var method = $('.find').val();
switch(method) {
case 'ems':
var weight = +$('#weight').val();
var sum = ems_price;
if(weight >= 0.5 && weight <= 1){ // было weight => 0.5
for (var i= 50; i< weight*100; i++) { //было var i = 5 и weight * 10
sum += 20; // было sum += 200
};
price.innerHTML = sum;
};
if(weight >= 1.25 && weight <= 2){ //Добавил
for (var i = 125; i< weight * 100; i++) {
sum += 24;
};
price.innerHTML = sum;
}; //Конец добавленного
break;
case 'avia':
price.innerHTML = avia_price;
break;
case 'sal':
price.innerHTML = sal_price;
break;
case 'parohod':
price.innerHTML = parohod_price;
break;
}
}
$('#weight').on("change", question);
$('.find').on("change", question);
});
Последний раз редактировалось qumo, 18.07.2016 в 20:13.
|
|
18.07.2016, 20:13
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
qumo,
вопрос тот же где пропавший диапазон и строку 19 выкинуть , а строку 25 перенести в конец 26.
|
|
18.07.2016, 20:37
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 51
|
|
Сообщение от рони
|
qumo,
вопрос тот же где пропавший диапазон и строку 19 выкинуть , а строку 25 перенести в конец 26.
|
Я довел до сотых, вместо десятых. от 0.5 по шагу в 0.01 до 1кг = 50 шагов. Это от 2200 до 3200, отсюда: 3200-2200=1000. Далее 1000/50=20. 20 и есть сумма из 200, но уже не на каждых 100 грамм, а на каждый 1грамм=) во втором случае: от 1.25 до 2кг = 75 шагов=) Это от 3200 до 5000. Тут такой же расчет=) Но тут у меня sum сбрасывается до 2200 во втором цикле, когда weight >= 1.01, на 1.25 начинает прибавлять к 2200, как и должно быть. Я предполагаю, что это из-за того диапазона, который между 1 и 1.25, он как бы блуждающий, не?=)
|
|
18.07.2016, 20:56
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 51
|
|
ой, видимо, вы про него и говорили - "пропавший диапазон", да?=)))
|
|
18.07.2016, 21:33
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
qumo,
$(function() {
var res = document.getElementById("answer"),
price = {
"ems": 2200,
"avia": 2500,
"sal": 2700,
"parohod": 1800
};
res.innerHTML = price["ems"];
function question() {
var method = $(".find").val();
var weight = +$("#weight").val();
var sum = price[method];
switch (method) {
case "ems":
if (weight >= .5 && weight <= 1)
for (var i = 50; i < weight * 100; i++) sum += 20;
else if (weight > 1 && weight < 1.25){ /* где? */ }
else if (weight >= 1.25 && weight <= 2)
for (var i = 125; i < weight * 100; i++) sum += 24;
break;
case "avia":
break;
case "sal":
break;
case "parohod":
break
}
res.innerHTML = sum
}
$("#weight").on("change", question);
$(".find").on("change", question)
});
Последний раз редактировалось рони, 18.07.2016 в 23:55.
|
|
18.07.2016, 22:53
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 51
|
|
значит я правильно понял вас
|
|
19.07.2016, 00:05
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 51
|
|
берет после 1.01 с 2200, а не с 3200=((
$(function() {
var res = document.getElementById("answer"),
price = {
"ems": 2200,
"avia": 2500,
"sal": 2700,
"parohod": 1800
};
res.innerHTML = price["ems"];
function question() {
var method = $(".find").val();
var weight = +$("#weight").val();
var sum = price[method];
switch(method) {
case 'ems':
if (weight >= .5 && weight <= 1){
for (var i = 50; i < weight * 100; i++) {sum += 20;}
}
else if (weight > 1 && weight <= 2){
for (var i = 100; i < weight * 100; i++) {sum += 18;}
}
break;
case 'avia':
price.innerHTML = avia_price;
break;
case 'sal':
price.innerHTML = sal_price;
break;
case 'parohod':
price.innerHTML = parohod_price;
break;
}
res.innerHTML = sum
}
$('#weight').on("change", question);
$(".find").on("change", question);
});
|
|
|
|