• Как правильно добавить реализацию фейкового таймера обратного отсчета?

    @vlad89buzan Автор вопроса
    const timer = (id, deadline, fake = false) => {
    const addZero = (num) => {
    if (num <= 9) {
    return "0" + num;
    } else {
    return num;
    }
    };
    const getTimeRemaining = (endtime) => {
    let t;

    if (fake == false) {
    t = Date.parse(endtime) - Date.parse(new Date());
    } else {
    t = Date.parse(endtime) - performance.now();
    }


    const seconds = Math.floor((t / 1000) % 60);
    const minutes = Math.floor((t / 1000 / 60) % 60);
    const hours = Math.floor((t / 1000 / 60 / 60) % 24);
    const days = Math.floor(t / 1000 / 60 / 60 / 24);

    return {
    total: t,
    days: days,
    hours: hours,
    minutes: minutes,
    seconds: seconds,
    };
    };
    const setClock = (selector, endtime) => {
    const timer = document.querySelector(selector);
    const days = document.querySelector("#days");
    const hours = document.querySelector("#hours");
    const minutes = document.querySelector("#minutes");
    const seconds = document.querySelector("#seconds");
    const timeInterval = setInterval(updateClock, 1000);

    updateClock();
    function updateClock() {
    console.log(getTimeRemaining(endtime));
    let t = getTimeRemaining(endtime);

    days.textContent = addZero(t.days);
    hours.textContent = addZero(t.hours);
    minutes.textContent = addZero(t.minutes);
    seconds.textContent = addZero(t.seconds);

    if (t.total <= 0) {
    days.textContent = "00";
    hours.textContent = "00";
    minutes.textContent = "00";
    seconds.textContent = "00";

    clearInterval(timeInterval);
    }
    }
    };
    setClock(id, deadline);
    };
    Ответ написан
    Комментировать
  • Javacript tabs проблема со всплытием?

    @vlad89buzan Автор вопроса
    function tabs(
    tabsSelector,
    tabsContentSelector,
    tabsParentSelector,
    activeClass
    ) {
    //tabs
    const tabs = document.querySelectorAll(tabsSelector);
    const tabsContent = document.querySelectorAll(tabsContentSelector);
    const tabsParent = document.querySelector(tabsParentSelector);

    function hideTabContent() {
    tabsContent.forEach((item) => {
    item.classList.add("hide");
    item.classList.remove("show", "fade");
    });
    tabs.forEach((item) => {
    item.classList.remove(activeClass);
    });
    }
    function showTabContent(i = 1) {
    tabsContent[i].classList.add("show", "fade");
    tabsContent[i].classList.remove("hide");
    tabs[i].classList.add(activeClass);
    }

    hideTabContent();
    showTabContent();

    tabsParent.addEventListener("click", (e) => {

    const target = e.target;


    if (
    target.classList.contains(tabsSelector.slice(1)) ||
    target.closest(tabsSelector).classList.contains(tabsSelector.slice(1))
    ) {
    tabs.forEach((item, i) => {

    if (target == item || target.closest(tabsSelector) == item) {
    hideTabContent();
    showTabContent(i);
    }
    });
    }
    });
    }

    // module.exports = tabs;
    export default tabs;
    Ответ написан
    Комментировать
  • Конфликт swiper.js i прокрутки bootstrap?

    @vlad89buzan Автор вопроса
    может кому пригодится проблема была в свайпере
    hashNavigation: {
    // Отслеживать состояние
    watchState: true,
    },
    Ответ написан
    Комментировать