Задать вопрос
@Alpha12

Как поправить калькулятор на jQuery?

Привет ребят, я с jq знаком не очень хорошо, так вот постал вопрос изменить ращет стоимости сейчас на сайте https://www.gallery.lviv.ua/calculator.php?id=51〈=1 цена за 1м/кв 980 грн, мне нужно немножко изменить что бы люди смогли вводить любое значения ширины и высоты сейчас там стоит 1до1 то есть если ввести 320 то и висота тоже будет 320. вот код калькулятора, куда копать ?

spoiler
var param=0.73;
    //Тут задаються параметри картинки
    var parameters = {
      'picture_price_koef': '0.098', //коефіцієнт ціни картини
      'picture_aspects_ratio': '1', //співвідношення сторін картини = ширина / висота;
    }
  </script>


$(document).ready(function(){
  //general variables
  $width = $('#width_value');
  $height = $('#height_value');
  $result = $('#result');
  var maintainAspectRatio = true,
      borderChecked = false,
      border_koef = 0;

  //init dropzone for user image
  Dropzone.options.filedrop = {
    init: function () {
      this.on("complete", function (file) {
        $('#layout').attr("src", 'photos/cat_3/f/'+file.name);
        maintainAspectRatio = false;
      });
      this.on("addedfile", function() {
        if (this.files[1]!=null){
          this.removeFile(this.files[0]);
        }
      });
    },
    acceptedFiles: 'image/*',
    dictDefaultMessage: 'Перетягніть зображення для завантаження',
    dictInvalidFileType: 'Підтримуються тільки файли зображень',
    dictResponseError: 'Не вдалося завантажити файл - спробуйте ще раз',
  };

  calculateValue(); //calculate on load

  //number inputs handlers
  $width.change(function() {
    if(maintainAspectRatio) {
      $height.val(Math.round($width.val() / parameters.picture_aspects_ratio));
    };
    
    calculateValue();
  });

  $height.change(function() {
    if(maintainAspectRatio) {
      $width.val(Math.round($height.val() * parameters.picture_aspects_ratio));
    }
    
    calculateValue();
  });

  //show border select panel
  $('#show-border-select').click(function() {
    $('#border-select').toggle();

    $('#show-border-select').html($('#show-border-select').text() == 'Додати рамку' ? 'Забрати рамку' : 'Додати рамку');

    borderChecked = (borderChecked == true) ? false : true;
    calculateValue();
  })

  //radiobuttons handler
  $('[name="border-select"]').click(function() {
    if($(this).is(':checked')) {
      borderChecked = true;
      border_koef = $(this).attr('data-border-koef');
      calculateValue();
    }
  });

  //main function - call it on every change
  function calculateValue() {
    var result = $width.val()*$height.val()*parameters.picture_price_koef;

    if(borderChecked) {
      result += $width.val()*$height.val()*border_koef;
    }

    result = (Math.round(result*100/100) / 100).toFixed(2);

    $result.html(result);
  }
});
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
mr-mit
@mr-mit
Программист бодибилдер
//number inputs handlers
  $width.change(function() {
    if(maintainAspectRatio) {
      $height.val(Math.round($width.val() / parameters.picture_aspects_ratio));
    };
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы