Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 18.07.2016, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

qumo,
а куда делось от 1 до 1.25 и каким образом изменился шаг с 0.1 до 0.01 -- эти чудеса как-то разъяснить треба?!
Ответить с цитированием
  #32 (permalink)  
Старый 18.07.2016, 18:42
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Сообщение от рони Посмотреть сообщение
qumo,
а куда делось от 1 до 1.25 и каким образом изменился шаг с 0.1 до 0.01 -- эти чудеса как-то разъяснить треба?!
Это я изменил. Извиняюсь, что не предупредил об изменениях это требуется для точности при вводе, чтобы было до сотых - за каждый грамм=)
Ответить с цитированием
  #33 (permalink)  
Старый 18.07.2016, 19:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от qumo
Это я изменил.
а что и как вы изменили?пока ни ваши обяснения, ни код, не о чём не говорят.
Ответить с цитированием
  #34 (permalink)  
Старый 18.07.2016, 20:10
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 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.
Ответить с цитированием
  #35 (permalink)  
Старый 18.07.2016, 20:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

qumo,
вопрос тот же где пропавший диапазон и строку 19 выкинуть , а строку 25 перенести в конец 26.
Ответить с цитированием
  #36 (permalink)  
Старый 18.07.2016, 20:37
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 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, он как бы блуждающий, не?=)
Ответить с цитированием
  #37 (permalink)  
Старый 18.07.2016, 20:56
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

ой, видимо, вы про него и говорили - "пропавший диапазон", да?=)))
Ответить с цитированием
  #38 (permalink)  
Старый 18.07.2016, 21:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

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.
Ответить с цитированием
  #39 (permalink)  
Старый 18.07.2016, 22:53
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

значит я правильно понял вас
Ответить с цитированием
  #40 (permalink)  
Старый 19.07.2016, 00:05
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 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);
			  });
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен калькулятор для расчета газобетона artstil Работа 7 27.04.2014 14:03
Калькулятор стоимости доставки Katik Элементы интерфейса 2 30.08.2012 15:32
Помогите доделать калькулятор расчета стоимости. mazaxaka jQuery 2 08.08.2012 16:14
Калькулятор расчета полиграфии 120gramm Общие вопросы Javascript 1 25.09.2010 15:44
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46