document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('.action[data-cta]').forEach(function (el) { if (el.classList.contains('gift-box')) return; el.addEventListener('click', function (e) { e.preventDefault(); const url = el.getAttribute('data-cta'); if (!url) return; window.open(url, '_blank', 'noopener,noreferrer'); }); }); // Выпадающий блок "ТОП Бонуси казино" по клику на .gift-box var giftBlock = document.getElementById('gift-bonus-block'); var giftBoxes = document.querySelectorAll('.gift-box'); if (giftBlock && giftBoxes.length) { function toggleGiftBlock(e) { e.preventDefault(); e.stopPropagation(); var isOpen = giftBlock.classList.contains('is-open'); if (isOpen) { giftBlock.classList.remove('is-open'); giftBlock.setAttribute('aria-hidden', 'true'); } else { giftBlock.classList.add('is-open'); giftBlock.setAttribute('aria-hidden', 'false'); } } function closeGiftBlock() { giftBlock.classList.remove('is-open'); giftBlock.setAttribute('aria-hidden', 'true'); } function isGiftBoxOrInside(target) { if (!target || !target.closest) return false; return target.classList.contains('gift-box') || target.closest('.gift-box'); } giftBoxes.forEach(function (el) { el.addEventListener('click', toggleGiftBlock); }); var closeBtn = giftBlock.querySelector('.gift-bonus-block-close'); if (closeBtn) closeBtn.addEventListener('click', closeGiftBlock); document.addEventListener('click', function (e) { var target = e.target; if (giftBlock.classList.contains('is-open') && !giftBlock.contains(target) && !isGiftBoxOrInside(target)) { closeGiftBlock(); } }); document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && giftBlock.classList.contains('is-open')) closeGiftBlock(); }); } }); $(document).ready(function () { $('.open-menu').on('click', function () { $(this).toggleClass('close-menu'); if ($(this).hasClass('close-menu')) { $('.mobile-menu').addClass('transition-menu'); $('body').addClass('body_fix'); } else { $('body').removeClass('body_fix'); $('.mobile-menu').removeClass('transition-menu'); } }); }); $(document).ready(function () { function initMobileMenu() { const isMobile = $(window).width() <= 1020; const $items = $('.header-menu > ul > li'); // Сначала снимаем старые обработчики (важно!) $items.children('a').off('click.mobileMenu'); if (!isMobile) { // Если не мобилка — всё закрываем $items.removeClass('open-m'); $items.children('.submenu').removeAttr('style'); return; } // Вешаем обработчики только на мобилке $items.children('a').on('click.mobileMenu', function (e) { const $parent = $(this).parent('li'); const $submenu = $parent.children('.submenu'); if (!$submenu.length) return; e.preventDefault(); const isOpen = $parent.hasClass('open-m'); if (isOpen) { $parent.removeClass('open-m'); $submenu.stop(true, true).slideUp(300); } else { // закрываем все остальные $items.not($parent).each(function () { $(this) .removeClass('open-m') .children('.submenu') .stop(true, true) .slideUp(300); }); // открываем текущий $parent.addClass('open-m'); $submenu.stop(true, true).slideDown(300); } }); } // ✅ Запуск при загрузке initMobileMenu(); // ✅ Запуск при изменении размера экрана $(window).on('resize', function () { initMobileMenu(); }); }); document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll(".promo-code-rel").forEach(promo => { const openBtn = promo.querySelector(".open-promo-code"); const form = promo.querySelector(".copy-promo-form"); const copyBtn = promo.querySelector(".copy-cod-btn"); const code = promo.querySelector(".copy-promo-inp"); const copied = promo.querySelector(".promo-copied"); if (!openBtn || !form || !copyBtn || !code || !copied) return; openBtn.addEventListener("click", () => { form.classList.toggle("active"); }); copyBtn.addEventListener("click", () => { const text = code.textContent.trim(); navigator.clipboard.writeText(text).then(() => { copied.classList.add("active"); setTimeout(() => { copied.classList.remove("active"); }, 2000); }); }); }); }); $(document).ready(function () { $('.header-menu ul li').has('.submenu').addClass('submenu-active'); $('.search-block').on('click', function (e) { $(this).toggleClass('open-search'); openSearchMenu(this, 'search-box'); e.stopPropagation(); }); $('.search-box').on('click', function (e) { e.stopPropagation(); }); function openSearchMenu($this, search_box) { let search_block = $($this).find('.' + search_box); $(search_block).slideToggle(250); } $(document).on('click', function () { $('.search-box').slideUp(); $('.search-block').removeClass('open-search') }) }); $(document).ready(function () { $('.positive-click').on('click', function () { $('.negative-click').removeClass('positive-active'); $(this).addClass('positive-active'); $('.negative-js').removeClass('positive-open'); $('.positive-js').addClass('positive-open'); }); $('.negative-click').on('click', function () { $('.positive-click').removeClass('positive-active'); $(this).addClass('positive-active'); $('.negative-js').addClass('positive-open'); $('.positive-js').removeClass('positive-open'); }); $('.open-box-reviews').on('click', function () { $('.add-review').addClass('add-review-open'); }); }); $(document).ready(function () { $('.open-ul-carts').on('click', function () { const parent = $(this).closest('.bonus-card-ul'); $(this).toggleClass('content-more-close'); parent.find('.open-carts-link').slideToggle(250); }); }); jQuery(window).scroll(function(){ if (jQuery(this).scrollTop() > 1700) { jQuery('.scrollup').fadeIn('slow'); } else { jQuery('.scrollup').fadeOut('slow'); } }); jQuery('.scrollup').click(function(){ jQuery("html, body").animate({ scrollTop: 0 }, 2500); return false; }); $(function () { let Accordion = function (el, multiple) { this.el = el || {}; this.multiple = multiple || false; let links = this.el.find('.link'); links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown) }; Accordion.prototype.dropdown = function (e) { let $el = e.data.el; $this = $(this), $next = $this.next(); $next.slideToggle(); if (!e.data.multiple) { $el.find('.submenu').not($next).slideUp(); } if (!$this.hasClass('open')) { $('.link').each(function () { $(this).removeClass('open') }) $this.addClass('open') } else { $this.removeClass('open') } } let accordion = new Accordion($('#accordion'), false); }); document.addEventListener("DOMContentLoaded", () => { const ratingWrap = document.querySelector(".add-review-rating"); if (!ratingWrap) return; const stars = ratingWrap.querySelectorAll(".js-rating li"); const input = ratingWrap.querySelector(".js-rating-input"); if (!stars.length || !input) return; function setRating(value) { input.value = String(value); stars.forEach((li, i) => { li.classList.toggle("is-filled", i < value); }); } stars.forEach((li, index) => { li.addEventListener("click", () => setRating(index + 1)); }); // если нужно выставить начальное значение из input setRating(parseInt(input.value || "0", 10)); }); $('.language-click').on('click', function (e) { $(this).parent().toggleClass('language-open'); e.stopPropagation(); }); $('.language-drop ul li').on('click', function () { let text_in = $('.language-click').html(); let selected_text = $(this).html(); $('.language-click').html(selected_text); $(this).html(text_in) $('.language-min').removeClass('language-open') }); $(window).on('click', function (e) { let menuSort = $('.language-min'); if (e.target !== menuSort) { menuSort.removeClass('language-open'); } }); // Обработка баннера cookie $(document).ready(function() { // Общая проверка: скрыть контейнер плавающих баннеров, если оба закрыты function updateFloatingBannersVisibility() { var $wrap = $('.floating-bottom-banners'); if (!$wrap.length) return; var cookieClosed = $('.use-of-cookies').hasClass('use-cookies-close'); var bonusClosed = !$('.bonus-free-spins').is(':visible'); if (cookieClosed && bonusClosed) { $wrap.addClass('floating-banners-all-closed'); } else { $wrap.removeClass('floating-banners-all-closed'); } } // Обработка клика на кнопку "Подтверждаю" $('.close-coocie').on('click', function() { const date = new Date(); date.setTime(date.getTime() + (24 * 60 * 60 * 1000)); document.cookie = 'mnp_cookie_banner_closed=1; expires=' + date.toUTCString() + '; path=/'; $('.use-of-cookies').addClass('use-cookies-close'); updateFloatingBannersVisibility(); }); // Обработка плавающего баннера бонусов var $bonusBanner = $('.bonus-free-spins'); var scrollThreshold = 1500; // 1500 пикселей // Функция для проверки куки function isBonusBannerClosed() { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i].trim(); if (cookie.indexOf('mnp_bonus_banner_closed=') === 0) { return true; } } return false; } // Проверяем позицию скролла и показываем/скрываем баннер function checkScroll() { // Если кука установлена, не показываем баннер if (isBonusBannerClosed()) { if ($bonusBanner.is(':visible')) { $bonusBanner.fadeOut(300); } return; } var scrollTop = $(window).scrollTop(); if (scrollTop >= scrollThreshold) { // Показываем баннер если прокручено 1500px или больше if (!$bonusBanner.is(':visible')) { $bonusBanner.fadeIn(300); } } else { // Скрываем баннер если прокручено меньше 500px if ($bonusBanner.is(':visible')) { $bonusBanner.fadeOut(300); } } } // Обработчик скролла $(window).on('scroll', function() { checkScroll(); }); // Проверяем при загрузке страницы (на случай если пользователь уже прокрутил) checkScroll(); // Обработка закрытия баннера $('.bonus-closed').on('click', function() { const date = new Date(); date.setTime(date.getTime() + (24 * 60 * 60 * 1000)); document.cookie = 'mnp_bonus_banner_closed=1; expires=' + date.toUTCString() + '; path=/'; $bonusBanner.addClass('bonus-free-closed').fadeOut(300, function() { updateFloatingBannersVisibility(); }); }); // Обработка кнопки "Еще" для содержания $('.content-more').on('click', function() { var $button = $(this); var $list = $button.siblings('.content-list'); var $items = $list.find('li'); var visibleItems = parseInt($list.data('visible-items'), 10) || 4; // Переключаем класс кнопки $button.toggleClass('content-more-close'); // Показываем/скрываем элементы начиная с visibleItems индекса $items.each(function(index) { if (index >= visibleItems) { $(this).slideToggle(250); } }); }); // При загрузке страницы скрываем элементы после visibleItems $('.content-list[data-visible-items]').each(function() { var $list = $(this); var $items = $list.find('li'); var visibleItems = parseInt($list.data('visible-items'), 10) || 4; $items.each(function(index) { if (index >= visibleItems) { $(this).hide(); } }); }); // AJAX загрузка дополнительных слотов $('.load-more-slots').on('click', function(e) { e.preventDefault(); var $button = $(this); var $container = $('.slots-wrap'); var currentPage = parseInt($button.data('page'), 10) || 1; var totalSlots = parseInt($button.data('total'), 10) || 0; // Блокируем кнопку во время загрузки if ($button.hasClass('loading')) { return; } $button.addClass('loading').text('Загрузка...'); $.ajax({ url: mnpAjax.ajaxurl, type: 'POST', data: { action: 'mnp_load_more_slots', page: currentPage, nonce: mnpAjax.nonce }, success: function(response) { if (response.success && response.data.html) { // Добавляем новые слоты в контейнер $container.append(response.data.html); // Обновляем номер страницы if (response.data.has_more) { $button.data('page', response.data.next_page).removeClass('loading').text('Показать еще'); } else { // Скрываем кнопку, если больше нет слотов $button.fadeOut(300); } } else { $button.removeClass('loading').text('Показать еще'); alert('Ошибка при загрузке слотов'); } }, error: function() { $button.removeClass('loading').text('Показать еще'); alert('Ошибка при загрузке слотов'); } }); }); });