Задать вопрос
  • Как перехватить переход по ссылки и повесить функцию на неё?

    @Axel030392 Автор вопроса
    ну я не сильно шарю в js? подскажите, куда конкретно это добавить нужно?
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    Алексей Уколов, В любом случае спасибо за помощь, очень благодарен что не прошли мимо
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    Алексей Уколов, Ну я думал что проблема в синтаксисе, а вы предлагаете создать второй масив и зачем то потом их объеденить. Тоесть вопрос больше по оптимизацию, а не усложнение. Или что вы имели ввиду под спредом?
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    Алексей Уколов, а чет у меня не работает (там всегда разные значения, просто для примера скопировал)

    const someFunc = (price) => {
      return {
        roznica: price.toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        silver: Math.ceil(price - price * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        gold: Math.ceil(price -  price * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        platinum: Math.ceil(price - price * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        silver_sk: Math.ceil(price * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        gold_sk: Math.ceil(price * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        platinum_sk: Math.ceil(price * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
      };
    }
    
    const info = {
    240: {
         5: {
          title: titleIbp250,
          description: descrIbp250,
    	  silka_ibp: ssilkaIbp3,
    	  kartinka_ibp: kartinkIbp3,
    	  title2: titleAKB_105,
    	  description2: descrAKB_105,
    	  mnoj: '60 x',
          silka_akb: silka_akb_105,
    	  kartinka_akb: kartinka_akb_105,
    	  someFunc(cena_roz5_250),
        },
    	10: {
          title: titleIbp250,
          description: descrIbp250,
    	  silka_ibp: ssilkaIbp3,
    	  kartinka_ibp: kartinkIbp3,
    	  title2: titleAKB_70,
    	  description2: descrAKB_70,
    	  mnoj: '120 x',
          silka_akb: silka_akb_70,
    	  kartinka_akb: kartinka_akb_70,
    	  someFunc(cena_roz10_250),
        },
    	15: {
          title: titleIbp250,
          description: descrIbp250,
    	  silka_ibp: ssilkaIbp3,
    	  kartinka_ibp: kartinkIbp3,
    	  title2: titleAKB_93,
    	  description2: descrAKB_93,
    	  mnoj: '120 x',
          silka_akb: silka_akb_93,
    	  kartinka_akb: kartinka_akb_93,
    	  someFunc(cena_roz15_250),
        },
    },
    };
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    Михаил Р., изменил вопрос, подробнее
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    IvanU7n, Вроде то что нужно
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    IvanU7n, Ок, отвечу зачем. Есть огромный массив объекта, вот кусочек:

    var cena_rozALL = 0;
    var roznicaIBP = cena_rozALL.toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    var  silverIBP = Math.ceil(cena_rozALL - cena_rozALL * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    var goldIBP = Math.ceil(cena_rozALL -  cena_rozALL * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    var platinumIBP = Math.ceil(cena_rozALL - cena_rozALL * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    var silver_skIBP = Math.ceil(cena_rozALL * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    var gold_skIBP = Math.ceil(cena_rozALL * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    var platinum_skIBP = Math.ceil(cena_rozALL * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
    
    const info = {
    10: {
        5: {
          title: titleIbp10,
          description: descrIbp10,
    	  silka_ibp: ssilkaIbp1,
    	  kartinka_ibp: kartinkIbp1,
    	  title2: titleAKB_7,
    	  description2: descrAKB_7,
    	  mnoj: '30 x',
          silka_akb: silka_akb_7,
    	  kartinka_akb: kartinka_akb_7,
    	  [cena_rozALL]: cena_roz5_10,
        },
        10: {
         title: titleIbp10,
          description: descrIbp10,
    	  silka_ibp: ssilkaIbp1,
    	  kartinka_ibp: kartinkIbp1,
    	  title2: titleAKB_7,
    	  description2: descrAKB_7,
    	  mnoj: '30 x',
          silka_akb: silka_akb_7,
    	  kartinka_akb: kartinka_akb_7,
    	  [cena_rozALL]: cena_roz10_10,
        }, .....
    } .... 
    };


    cena_rozALL = это значение которое будет разное для всех (а тут 720 вариаций). Это является базовой ценой товара. А те расчеты это скидки одного и того же товара. И взависимости от цены, меняются все эти расчеты скидок и т.д.
    И другой вариант, рабочий

    const info = {
    10: {
        5: {
          title: titleIbp10,
          description: descrIbp10,
    	  silka_ibp: ssilkaIbp1,
    	  kartinka_ibp: kartinkIbp1,
    	  title2: titleAKB_7,
    	  description2: descrAKB_7,
    	  mnoj: '30 x',
          silka_akb: silka_akb_7,
    	  kartinka_akb: kartinka_akb_7,
    	  roznica: cena_roz5_10.toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  silver: Math.ceil(cena_roz5_10 - cena_roz5_10 * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  gold: Math.ceil(cena_roz5_10 -  cena_roz5_10 * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  platinum: Math.ceil(cena_roz5_10 - cena_roz5_10 * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  silver_sk: Math.ceil(cena_roz5_10 * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  gold_sk: Math.ceil(cena_roz5_10 * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  platinum_sk: Math.ceil(cena_roz5_10 * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        },
        10: {
         title: titleIbp10,
          description: descrIbp10,
    	  silka_ibp: ssilkaIbp1,
    	  kartinka_ibp: kartinkIbp1,
    	  title2: titleAKB_7,
    	  description2: descrAKB_7,
    	  mnoj: '30 x',
          silka_akb: silka_akb_7,
    	  kartinka_akb: kartinka_akb_7,
    	 roznica: cena_roz10_10.toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  silver: Math.ceil(cena_roz10_10 - cena_roz10_10 * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  gold: Math.ceil(cena_roz10_10 -  cena_roz10_10 * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  platinum: Math.ceil(cena_roz10_10 - cena_roz10_10 * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  silver_sk: Math.ceil(cena_roz10_10 * proc_sil).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  gold_sk: Math.ceil(cena_roz10_10 * proc_gold).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
    	  platinum_sk: Math.ceil(cena_roz10_10 * proc_plat).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 '),
        }, .....
    } .... 
    };


    Тоесть в каждой вариации нужно прописывать этот кусок кода
    Написано
  • Как изменить переменную в массивоподобном объекте JS?

    @Axel030392 Автор вопроса
    А чего странного, хочу использовать массив данных как if else
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    Вот у меня такой кальеулятор - https://quwatt.kz/kalkuljator-rascheta-ibp/, вообщем я так и не понял до конца как это реализовывается
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    А влияет ли эта конструкция на индификаторы, которые выводятся у меня так:

    document.onmousemove = function(e) {
      const slider1value = jQuery("#slider1").roundSlider("option", "value");
      const slider2value = jQuery("#slider2").roundSlider("option", "value");
      jQuery('.calc_nazvanie').html(info[slider1value][slider2value].title);
      jQuery('.calc_descr').html(info[slider1value][slider2value].description);
    jQuery('.tovar_ibp').attr('href', info[slider1value][slider2value].silka_ibp);
    jQuery('.kartinka_ibp').attr('src', info[slider1value][slider2value].kartinka_ibp);
    jQuery('.calc_nazvanie2').html(info[slider1value][slider2value].title2);
    jQuery('.calc_descr2').html(info[slider1value][slider2value].description2);
    jQuery('.calc_mnojitel_akb').html(info[slider1value][slider2value].mnoj);
    jQuery('.tovar_akb').attr('href', info[slider1value][slider2value].silka_akb);
    jQuery('.kartinka_akb').attr('src', info[slider1value][slider2value].kartinka_akb);
    jQuery('.calc_cena_roz').html(info[slider1value][slider2value].roznica);
    jQuery('.diler_silver').html(info[slider1value][slider2value].silver);
    jQuery('.diler_gold').html(info[slider1value][slider2value].gold);
    jQuery('.diler_platin').html(info[slider1value][slider2value].platinum);
    jQuery('.silver_skidka').html(info[slider1value][slider2value].silver_sk);
    jQuery('.gold_skidka').html(info[slider1value][slider2value].gold_sk);
    jQuery('.platin_skidka').html(info[slider1value][slider2value].platinum_sk);
    	
    }
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    Сергей Соколов, именем свойства в объкте вполне может быть строка "10-50". - ну так это неработает, тоесть просто ошибка. Что нужно искать то?
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    Сергей Соколов, Спасибо, это вопрос про переменные так?
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    Сергей Соколов,
    1) про какой контекст вы говорите?? Есть два атрибута, которые зависят друг от друга, и от которых идут данные с массива (или объекта как хотите)
    2) не очень понимаю что вы имелли в виду под отформатированным кодом, вроде конструкция предельно проста - внутри мощности которая равна 10 есть атрибуты времени от 5 до 60 с шагом 5, далее мощность 20 и так до 600.
    3) пусть будет массивоподобный объект и просто атрибуты

    "Например, можно делать ключи строками типа "10-50" и интерпретировать их так, как имеете в виду )" - что это означает? как интерпретировать? что? куда? какие ключи?

    Ккак вообще называется то что я ищу, мне просто это скажите, я уже в гугле найду, так как понятия не имую что искать
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    Сергей Соколов, И еще вопросик, а можно ли в этот объект засунуть переопределение переменной, например так:

    var fff = '20';
    
    const info = {
      10: {
        5: {
             fff = '50',
        }, 
     },
    Написано
  • Как в массиве обозначить нескольким параметрам одно значение?

    @Axel030392 Автор вопроса
    Сергей Соколов, тоесть запись 10-50 будет работать для 10, 20, 30, 40, 50? Это что правильная запись?
    Написано
  • Проверка элемента в другом элементе в js?

    @Axel030392 Автор вопроса
    Семен Nemo Dev, Большое спасибо, немного подправил и он заработал. Поменял querySelectorAll на querySelector, так как эти элименты должны обращаться только внутри элемента из цикла

    setInterval(function(){
    var parent = document.querySelectorAll('.cart_item');
    for(let i = 0; i<parent.length; i++){
    	var elems1 = parent[i].querySelector('.meta_wc');
    	var elems = parent[i].querySelector('.first_size');
    if (elems.innerHTML == '' ) {
    	elems1.style.display = 'none';
    	};	
    }
    }, 1000);
    Написано
  • Проверка элемента в другом элементе в js?

    @Axel030392 Автор вопроса
    Ankhena, Так это динамический контент, который подтягивает товары через интеграция в вордпрес(вукомерц) с printify. И так получается, что в одних товарах есть атрибуты которые вукомерц видет, а в других не видет. Вот поэтому токое извращение))
    Написано
  • Проверка элемента в другом элементе в js?

    @Axel030392 Автор вопроса
    Ankhena, спасибо за ответ, а как оно должно работать? Тут же нету родителя по которому оно и должно искаться?
    Написано
  • Проверка элемента в другом элементе в js?

    @Axel030392 Автор вопроса
    Эх, не хочет работать этот вариант. Даже прописал полный класс дива как
    var parent = $(document.querySelectorAll('.elementor-menu-cart__product.woocommerce-cart-form__cart-item.cart_item'));

    Почему это может не работать?
    Написано
  • Проверка элемента в другом элементе в js?

    @Axel030392 Автор вопроса
    Kentavr16, И что? в чем ответ или подсказка. Допустим я переименую elems в dddd, что то измениться? Как мне проверить innerHTML в этой коллекции?
    Написано