Показать сообщение отдельно
  #1 (permalink)  
Старый 20.10.2017, 09:36
Новичок на форуме
Отправить личное сообщение для theRusih Посмотреть профиль Найти все сообщения от theRusih
 
Регистрация: 20.10.2017
Сообщений: 6

Подстановка значений в фору калькулятора
Люди добрые и умные, помогите разобраться с калькулятором.
На каком-то сайте нашел калькулятор натяжных потолков, ну понравился он мне... Не могу понять откуда подставляются значения для расчета?
На локалке(компьютере) в скрипте меняю значения на свои
var prods = {
              pongs: 540,
              polyplast: 480,
              msd: 100,
              descor: 770,
              clipso: 1580,
              cerutti: 1630,
              photo: 1890
            };

, все работает. Вставляю к себе на сайт, данные подставляются с сайта исходника.

Содержимое scriptcalc.js
//передача данных калькулятора форме 
function generateOutCalc(){
    // Площадь, м2
    $("#outCalc-area").val($('#calculator2-area').val());
    // Углы, шт
    $("#outCalc-angles").val($('#calculator2-angles').val());
    // Светильники, шт
    $("#outCalc-fixtures").val($('#calculator2-fixtures').val());
    // Люстры, шт
    $("#outCalc-chandeliers").val($('#calculator2-chandeliers').val());

    // Производитель
    if( $('#manufacturer_pongs').is(':checked') ){
      $("#outCalc-manufacturer").val($('label[for="manufacturer_pongs"]').text());
    }

    if( $('#manufacturer_polyplast').is(':checked') ){
      $("#outCalc-manufacturer").val($('label[for="manufacturer_polyplast"]').text());
    }

    if( $('#manufacturer_msd').is(':checked') ){
      $("#outCalc-manufacturer").val($('label[for="manufacturer_msd"]').text());
    }

    if( $('#manufacturer_descor').is(':checked') ){
      $("#outCalc-manufacturer").val($('label[for="manufacturer_descor"]').text());
    }

    if( $('#manufacturer_photo').is(':checked') ){
      $("#outCalc-manufacturer").val($('label[for="manufacturer_photo"]').text());
    }
    // Сумма
    $("#outCalc-price").val($(".output_price span").text()+" Руб.");
  }

var tablinks = document.querySelectorAll(".main-tab-link");
  if (tablinks.length > 0) {
    for (var i = 0; i < tablinks.length; ++i) {
      tablinks[i].addEventListener('click', function () {

        var link = this;
        var targetID = link.dataset.targettabid;
        var target = document.querySelector("[data-tabid=\"" + targetID + "\"]");
        var tabs = target.parentNode.childNodes;
        //console.log(link, targetID, target, target.parentNode);
        //console.log(tabs);
        if (targetID && target) {
          $(tabs).addClass('hidden');
          $(link).parent().children().removeClass('active');
          target.classList.remove('hidden');
          link.classList.add('active');
        }
      });
    }
  }



  $('#calculator2-area').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF
  $('#calculator2-angles').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF
  $('#calculator2-fixtures').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF
  $('#calculator2-chandeliers').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF

  $('#calculator2-area')  .bind('keyup mouseup', function () {
    $('.calcbutton').click(); generateOutCalc();          
  });
  $('#calculator2-angles')  .bind('keyup mouseup', function () {
   $('.calcbutton').click(); generateOutCalc();           
 });
  $('#calculator2-fixtures')  .bind('keyup mouseup', function () {
   $('.calcbutton').click(); generateOutCalc();          
 });
  $('#calculator2-chandeliers')  .bind('keyup mouseup', function () {
   $('.calcbutton').click(); generateOutCalc();           
 });




  $('#manufacturer_pongs').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF
  $('#manufacturer_polyplast').click(function(){ $('.calcbutton').click();generateOutCalc(); }); // Добавил ITF
  $('#manufacturer_msd').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF
  $('#manufacturer_descor').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF
  $('#manufacturer_photo').click(function(){ $('.calcbutton').click(); generateOutCalc();}); // Добавил ITF


  $('.calculator2-control').click(function () {

    var input = this.parentNode.querySelector('.calculator2-input');
    console.log(input);
    if (this.classList.contains('plus')) {
      input.value++;
    } else if (this.classList.contains('minus') && input.value > 0) {
      input.value--;
    }
    $('.calcbutton').click(); // Добавил ITF
    generateOutCalc();// Добавил ITF
  });

/*on calc*/
$(function () {

  var calcbutton = document.querySelector('.calcbutton');
  if (calcbutton) {

    var calcDiscount = document.querySelector('.calc-discount');

    $('.calcbutton').click(function () {
      $(".output_price_none").fadeIn(1000);
      $(".feedback_zamer").fadeIn(1000);
    });

    calcbutton.addEventListener('click', function () {
      var loc = $(location).attr('href') ;
      if (( loc == "" ) || (loc ==  "")){
           var prods = {
              pongs: 540,
              polyplast: 480,
              msd: 100,
              descor: 770,
              clipso: 1580,
              cerutti: 1630,
              photo: 1890
            };
      }
      else{
           var prods = {
              pongs: 540,
              polyplast: 480,
              msd: 100,
              descor: 770,
              clipso: 1580,
              cerutti: 1630,
              photo: 1890
            };
      }
     
      var corners = document.querySelector('input[name="angles"]').value;
      if (corners > 4) {

      if (( loc == "" ) || (loc ==  "")){
        var cornerprice = (corners - 4) * 180;
      }
      else{
        var cornerprice = (corners - 4) * 180;
      }

      }
      else {

        cornerprice = 0;
      }
      if (( loc == "" ) || (loc ==  "")){
      var lightprice = 280 * document.querySelector('input[name="fixtures"]').value;
      var lampprice = 430 * document.querySelector('input[name="chandeliers"]').value;
    }
    else{
      var lightprice = 280 * document.querySelector('input[name="fixtures"]').value;
      var lampprice = 430 * document.querySelector('input[name="chandeliers"]').value;
    }
      var prodprice = prods[document.querySelector('input[name="manufacturer"]:checked').value] * document.querySelector('input[name="area"]').value;

      var price = prodprice + cornerprice + lightprice + lampprice,
      span = document.querySelector('.output_price > span'),
      input = document.querySelector('.output_price > input');

      if (span) {

        span.innerHTML = price;
      }

      if (input) {

        input.value = price;
      }
      $('.personal_link.hidden').slideDown();
      updateDiscount(price);
    });
}


Файлы с которыми работает калькулятор:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

 
<script type="text/javascript" src="js/scriptcalc.js"></script>
Самое интересное что в файле scriptcalc.js изменения сделанные мной работают локально а на сайте нет, даже если все удалить в этом файле, на сайте калькулятор работает со значениями с сайта исходника...
Ответить с цитированием