jQuery(document).ready(function ($) { "use strict"; var $body = $('body'), has_rtl = $body.hasClass('rtl'); $(document).on("click", ".mobile-menu-toggle", function(e) { e.preventDefault(); $('.header-mobile-menu').toggleClass('open'); }); $(document).on('keydown', '.header-mobile-menu, .shop-sidebar-filter', function (e) { const $menu = $(this); if (e.key === 'Escape') { $menu.removeClass('open'); return; } if (e.key === 'Tab') { const $focusable = $menu.find('a, input, button').filter(':visible'); const first = $focusable.first()[0]; const last = $focusable.last()[0]; const active = document.activeElement; if (e.shiftKey) { if (active === first) { e.preventDefault(); $(last).focus(); } } else { if (active === last) { e.preventDefault(); $(first).focus(); } } } }); function aldstore_dropshipping_for_aliexpress_menu_caret() { $('.aldstore-nav').each(function () { var _main = $(this); _main.children('.menu-item.menu-item-has-children').each(function () { var curent = $(this).find('.sub-menu'); curent.before(''); }); }); } if ($('.aldstore-nav').length) { aldstore_dropshipping_for_aliexpress_menu_caret(); } $(document).on("click", ".main-menu-tab", function (e) { e.preventDefault(); $(this).addClass('active'); $('#main-menu-tab').addClass('active'); $('.vertical-menu-tab, #vertical-menu-tab').removeClass('active'); }); $(document).on("click", ".vertical-menu-tab", function (e) { e.preventDefault(); $(this).addClass('active'); $('#vertical-menu-tab').addClass('active'); $('.main-menu-tab, #main-menu-tab').removeClass('active'); }); $(document).on("click", ".mobile-menu-clone .caret", function (e) { e.preventDefault(); let $this = $(this); let titleText = $this.siblings("a").text(); let $menuItem = $this.closest(".menu-item"); let $subMenu = $this.closest(".sub-menu"); let $mobileMenuTitle = $this.closest(".mobile-menu-inner").siblings(".mobile-menu-title"); $menuItem.toggleClass("show-sub-menu"); $mobileMenuTitle.addClass('active'); if($this.hasClass("active")) { if($subMenu.length) { titleText = $subMenu.siblings("a").text(); } else { $mobileMenuTitle.removeClass('active'); } } $mobileMenuTitle.text(titleText); $this.toggleClass("active"); }); function aldstore_dropshipping_for_aliexpress_clone_menu(sourceSelector, targetSelector) { let $menu = $(sourceSelector).first(); if ($menu.length && !$(targetSelector + ' .mobile-menu-clone').length) { let $clone = $menu.clone(false); $clone.removeAttr('id'); $clone.find('.menu-item[id]').removeAttr('id'); $(targetSelector).append( $('
').append($clone) ); } } aldstore_dropshipping_for_aliexpress_clone_menu('.aldstore-nav.main-menu', '#main-mobile-menu'); aldstore_dropshipping_for_aliexpress_clone_menu('.aldstore-nav.vertical-menu', '#vertical-mobile-menu'); $('.header .menu-item, .vertical-wrapper.block-nav-category').on('mouseout', function () { $(this).removeClass('focus') }); $('.header .menu-item > a, .vertical-wrapper.block-nav-category .block-title').on('focus', function () { var $anchor = $(this); $('.focus').each(function () { var $el = $(this); if (!$el.has($anchor).length) { $el.removeClass('focus'); } }); $anchor.parent().addClass('focus'); }); // aldstore_dropshipping_for_aliexpress_dropdown $(document).on('click', function (event) { var _target = $(event.target).closest('.aldstore-dropdown'), _parent = $('.aldstore-dropdown'); if (_target.length > 0) { _parent.not(_target).removeClass('open'); if ( $(event.target).is('[data-aldstore="aldstore-dropdown"]') || $(event.target).closest('[data-aldstore="aldstore-dropdown"]').length > 0 ) { _target.toggleClass('open'); event.preventDefault(); } } else { $('.aldstore-dropdown').removeClass('open'); } }); /* QUANTITY */ if (!String.prototype.getDecimals) { String.prototype.getDecimals = function () { var num = this, match = ('' + num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/); if (!match) { return 0; } return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0)); }; } $(document).on('click', '.quantity-plus, .quantity-minus', function (e) { e.preventDefault(); // Get values var $qty = $(this).closest('.quantity').find('.qty'), currentVal = parseFloat($qty.val()), max = parseFloat($qty.attr('max')), min = parseFloat($qty.attr('min')), step = $qty.attr('step'); if (!$qty.is(':disabled')) { // Format values if (!currentVal || currentVal === '' || currentVal === 'NaN') currentVal = 0; if (max === '' || max === 'NaN') max = ''; if (min === '' || min === 'NaN') min = 0; if (step === 'any' || step === '' || step === undefined || parseFloat(step) === 'NaN') step = '1'; // Change the value if ($(this).is('.quantity-plus')) { if (max && (currentVal >= max)) { $qty.val(max); } else { $qty.val((currentVal + parseFloat(step)).toFixed(step.getDecimals())); } } else { if (min && (currentVal <= min)) { $qty.val(min); } else if (currentVal > 0) { $qty.val((currentVal - parseFloat(step)).toFixed(step.getDecimals())); } } // Trigger change event $qty.trigger('change'); } }); $(document).on('click', '.wc-accordion-title', function (e) { e.preventDefault(); const $title = $(this); const $item = $title.closest('.wc-accordion-item'); const $content = $item.find('.wc-accordion-content'); if ($title.hasClass('active')) { $title.removeClass('active'); $content.stop(true, true).slideUp(250); return; } $('.wc-accordion-title').removeClass('active'); $('.wc-accordion-content').stop(true, true).slideUp(250); $title.addClass('active'); $content.stop(true, true).slideDown(250); }); if ($('.shop-categories-slide').length) { new Swiper('.shop-categories-slide', { slidesPerView: 'auto', spaceBetween: 20, }); } $(document).on("click", ".woo-multi-currency.wmc-shortcode .wmc-current-currency", function (e) { e.stopPropagation(); $(this).closest('.woo-multi-currency.wmc-shortcode').toggleClass('open'); }); $(document).on("click", function (e) { if (!$(e.target).closest(".woo-multi-currency.wmc-shortcode").length) { $(".woo-multi-currency.wmc-shortcode").removeClass("open"); } }); $(document).on("click", ".woo-multi-currency.wmc-shortcode .wmc-sub-currency", function (e) { e.stopPropagation(); }); }); jQuery(window).on('load', function() { jQuery('body').addClass('loaded'); });