ГОСПОДА И ДАМЫ, Я ПЕРЕНОШУ НОВЫЙ ДИЗАЙН (ДА, В WORDPRESS ОНО ДЕЛАЕТСЯ С БОЛЬЮ), САЙТ БУДЕТ ПРИВЕДЕН В ПОРЯДОК В ТЕЧЕНИИ СРЕДЫ-ЧЕТВЕРГА
ИЗВИНИТЕ ЗА НЕУДОБСТВА.
/* Исходное состояние: скрыто */
#brxe-f854aa {
    display: none;
    pointer-events: none; /* Отключаем клики, пока блок невидим */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    
    /* Дополнительно: если блок зафиксирован снизу, можно добавить выезд */
    /* transform: translateY(100%); */ 
}

/* Состояние, когда блок показан */
#brxe-f854aa.is-active {
display: flex;
    pointer-events: auto; /* Включаем клики обратно */
    
    /* Если использовали выезд снизу: */
    /* transform: translateY(0); */
}
document.addEventListener('DOMContentLoaded', () => {
    const mainPdpBlock = document.querySelector('#brxe-ooqexc'); // Основной блок
    const quickActionBlock = document.querySelector('#brxe-f854aa'); // Блок быстрого действия

    if (!mainPdpBlock || !quickActionBlock) return;

    const observer = new IntersectionObserver((entries) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                // Основной блок на экране -> прячем панель
                quickActionBlock.classList.remove('is-active');
            } else {
                // Основной блок ушел с экрана -> показываем панель
                quickActionBlock.classList.add('is-active');
            }
        });
    }, {
        root: null,
        // Срабатывает, когда основной блок полностью скрывается (threshold: 0)
        threshold: 0 
    });

    observer.observe(mainPdpBlock);
});

document.addEventListener('DOMContentLoaded', () => {
    // Находим твою кнопку в липком блоке
    const stickyCartBtn = document.querySelector('#brxe-lxldxa');
    
    // Находим основную кнопку добавления в корзину (стандартный класс WooCommerce)
    const mainCartBtn = document.querySelector('.single_add_to_cart_button');

    if (stickyCartBtn && mainCartBtn) {
        stickyCartBtn.addEventListener('click', (e) => {
            // Отменяем стандартное поведение ссылки (чтобы страница не прыгала по якорю)
            e.preventDefault();
            
            // Если используются скрипты плавного скролла Bricks, глушим и их
            e.stopImmediatePropagation(); 

            // Программно "нажимаем" на основную кнопку WooCommerce
            mainCartBtn.click();
        });
    }
});

/* Исходное состояние пульта */
#brxe-993a60 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: var(--z-max, 999); /* Поверх всего */
    
    /* Скрываем блок за пределами верхнего экрана */
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none; 
    
    /* Плавная анимация */
    transition: transform 0.35s ease, opacity 0.3s ease, visibility 0.3s ease;
    
    /* Оставляем flex, чтобы верстка внутри не ломалась, когда он появится */
    display: flex; 
}

/* Состояние, когда пульт активен */
#brxe-993a60.is-active {
    transform: translateY(0); /* Опускаем на место */
    opacity: 1;
    visibility: visible;
    pointer-events: auto; /* Включаем клики */
}

document.addEventListener('DOMContentLoaded', () => {
    // 1. Ищем наши ключевые узлы
    const topHeader = document.querySelector('#brxe-8a27e2'); // Секция с логотипом
    const actionBar = document.querySelector('#brxe-993a60'); // Наш пульт
    const cartForm = document.querySelector('form.cart');     // Форма корзины (PDP)
    const stickyCartBtn = document.querySelector('#brxe-5a3ffb'); // Кнопка "Выбрать" в пульте
    const mainCartBtn = document.querySelector('.single_add_to_cart_button'); // Главная кнопка корзины

    if (!actionBar) return;

    // 2. Флаги состояний
    let isPastHeader = false; // Проскроллили ли мы шапку
    let isFormVisible = false; // Видна ли форма корзины

    // 3. Главная функция принятия решений
    const updateActionBarVisibility = () => {
        // Показываем пульт ТОЛЬКО если шапка ушла наверх И формы корзины нет на экране
        if (isPastHeader && !isFormVisible) {
            actionBar.classList.add('is-active');
        } else {
            actionBar.classList.remove('is-active');
        }
    };

    // 4. Обсервер для Шапки (Лого + Поиск)
    if (topHeader) {
        const headerObserver = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                // Если шапка не пересекается с экраном и её верхняя граница ушла в минус (наверх)
                if (!entry.isIntersecting && entry.boundingClientRect.top < 0) {
                    isPastHeader = true;
                } else {
                    isPastHeader = false;
                }
                updateActionBarVisibility();
            });
        }, { root: null, threshold: 0 }); // Срабатывает, как только шапка полностью скрывается
        
        headerObserver.observe(topHeader);
    }

    // 5. Обсервер для Формы Корзины (form.cart)
    if (cartForm) {
        const formObserver = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                // Если форма на экране (entry.isIntersecting будет true)
                isFormVisible = entry.isIntersecting;
                updateActionBarVisibility();
            });
        }, { 
            root: null, 
            threshold: 0.05 // Срабатывает, если видно хотя бы 5% формы
        });
        
        formObserver.observe(cartForm);
    }

    // 6. Логика клика по кнопке в пульте (передача клика в главную форму)
    if (stickyCartBtn && mainCartBtn) {
        stickyCartBtn.addEventListener('click', (e) => {
            e.preventDefault();
            e.stopImmediatePropagation(); 
            mainCartBtn.click(); // Жмем скрытую кнопку
        });
    }
});
Посмотр рубрик

Battle.net Турция

2 документация

Как создать аккаунт Battle.net Турция

Последнее обновление: 4 сентября 2024

Как создать аккаунт Battle.net Турция ? В условиях текущих ограничений для пользователей из России и Беларуси создание учетки Battle.net другого региона становится все более популярным решением. Этот выбор открывает доступ ко всем возможностям платформы, которые могут быть недоступны в других регионах. Аккаунт Battle Net Турция: Преимущества Создание аккаунта Battle.net Турции дает возможность продолжить игровой процесс...

Как пополнить кошелек Battle.net Турция

Последнее обновление: 4 сентября 2024

Санкции для игроков из России и Беларуси заставили многих искать альтернативные способы продолжить наслаждаться любимыми играми на платформе Battle.net. Одним из популярных решений стало использование учетной записи из Турции. В этой статье подробно рассмотрено, как пополнить кошелек Battle.net Турция, какие преимущества и недостатки использования локальной валюты, а также предложены удобные варианты пополнения через магазин. Как...

0
Я использую cookie-файлы! Пользуясь сайтом, ты соглашаешься с их использованием.
Хорошо