Updated

JavaScript

JavaScript - функции

Описание функий, которые по ходу работы прийдется кастомно использовать на страницах.

Главный файл со всеми ф-ями и описанием находится по адресу
scripts/index.js

В проекте есть много legacy-кода на jQuery, но все новые фичи пиши на ES6. Наша аудитория использует современные браузеры, поэтому про совместимость можно не боятся.

  • Для работы с таймером у нас используется библиотека SyoTimer;
  • Для фиксации хедера используется Sticky-js
  • Показать\скрыть модальное окно
 LP.CORE.showModal('selector');
 LP.CORE.closeModal('selector');
  • Установка выбраного пакета на страницах “Спасибо”
setTimeout(function () {
    var obj = searchToObject();
    if (obj.landing_id) {
      LP.CORE.selectPackage($('[data-id="' + obj.landing_id + '"]'))
    };
}, 1500);
  • Обновить статическую информацию в footer
updateStaticInfo: function () {
  // some replace
}
  • Обновить глобальных мерчантов для оплаты fondy (детали - Оплата)
function setMerchant() {
  // set custom values
  if (item.value == KEY) {
      item.value = VALUE;
  }
}
  • Вывести на странице цену мероприятия полную\со скидкой
  let data = LP.CORE.getSearchJson();
  LP.CORE.getPriceByID(data.landing_id);
  $('.packages-item-price').each(function (i, el) {
    LP.CORE.setPriceThanks($(this).data('id'), $(this).find('.price-full-redline'), $(this).find('.price-discount-big'))
  });

// .packages-item-price - родительский блок. 
// Ему нужно задать атрибут data-id='' 
// и клас пакета, по которому с админблока через функции добавляется пакет мероприятия, например standard_price

// <div class="standard_price" data-id=''>
//   <span class="count-price price-full-redline">со скидкой</span>
//   <span class="count-price price-discount-big">полная цена</span>
// </div>

// class="count-price" нужен для устаноки валюты
  • Получить цену из Zoho по id
  LP.CORE.getPriceByID(t.data("id"))
  • Высота первого экрана ‘.hero’ на весь viewport
  LP.CORE.setSize()
Made with ❤&🍺 by @sonikbro