diff --git a/wp-content/themes/cosmopet/modules/layout/assets/js/gp-main.js b/wp-content/themes/cosmopet/modules/layout/assets/js/gp-main.js index 24792c7..435d5b1 100644 --- a/wp-content/themes/cosmopet/modules/layout/assets/js/gp-main.js +++ b/wp-content/themes/cosmopet/modules/layout/assets/js/gp-main.js @@ -2,13 +2,13 @@ jQuery(document).ready(function ($) { // OVERLAY - $('.product__main').on('click', '.open-overlay', function () { - let product = $(this).closest('.product__item'), - overlay = product.find('.product-item__overlay'); + // $('.product__main').on('click', '.open-overlay', function () { + // let product = $(this).closest('.product__item'), + // overlay = product.find('.product-item__overlay'); - $('.product__item').find('.product-item__overlay').css('top', '100%'); - overlay.css('top', 0); - }) + // $('.product__item').find('.product-item__overlay').css('top', '100%'); + // overlay.css('top', 0); + // }) // END OVERLAY // $('.product__main').on('click', '.state__button', function(evt) { @@ -46,77 +46,77 @@ jQuery(document).ready(function ($) { // product.find('.product-item-overlay__price').html(price * qty.val() + ' '); // }) - $('.product__main').on('click', '.select__state', function(evt) { - evt.preventDefault(); - let product = $(this).closest('.product__item'), - listing = product.find('.state__block'); + // $('.product__main').on('click', '.select__state', function(evt) { + // evt.preventDefault(); + // let product = $(this).closest('.product__item'), + // listing = product.find('.state__block'); - if (listing.hasClass('expanded')) { - listing.removeClass('expanded').css('height', '0'); - } else { - listing.addClass('expanded').css('height', 'auto'); - } + // if (listing.hasClass('expanded')) { + // listing.removeClass('expanded').css('height', '0'); + // } else { + // listing.addClass('expanded').css('height', 'auto'); + // } - product.find('.state__block').find('.state__button').removeClass('active'); - product.find('.state__button').each(function () { - if (product.find('.select__state').data('product_id') === $(this).data('product_id')) { - $(this).addClass('active'); - } - }) - }) + // product.find('.state__block').find('.state__button').removeClass('active'); + // product.find('.state__button').each(function () { + // if (product.find('.select__state').data('product_id') === $(this).data('product_id')) { + // $(this).addClass('active'); + // } + // }) + // }) - let page = 1; - - jQuery('body').on('click', '#load-more-products', function(e) { - e.preventDefault(); - page++; - - let category = $(this).data('category_id'); - let category_type = $(this).data('category_type'); - - $.ajax({ - type: 'POST', - url: '/wp-admin/admin-ajax.php', - dataType: 'html', - data: { - 'action' : 'get_products', - 'get_page' : page, - 'get_category' : category, - 'get_category_type' : category_type, - }, - success: function(data) { - // if($('
').html(data).find('.archive__item.ended').size() > 0) $('#load-more-products').parents('.cta').remove(); - // else $('#load-more-products').parents('.cta').show(); - - $('#load-more-products').detach(); - $('.product__main').append(data); - $('#load-more-products').prependTo('.product__footer'); - }, - error: function(data) { - console.log(data); - } - }); - }); + // let page = 1; + + // jQuery('body').on('click', '#load-more-products', function(e) { + // e.preventDefault(); + // page++; + + // let category = $(this).data('category_id'); + // let category_type = $(this).data('category_type'); + + // $.ajax({ + // type: 'POST', + // url: '/wp-admin/admin-ajax.php', + // dataType: 'html', + // data: { + // 'action' : 'get_products', + // 'get_page' : page, + // 'get_category' : category, + // 'get_category_type' : category_type, + // }, + // success: function(data) { + // // if($('').html(data).find('.archive__item.ended').size() > 0) $('#load-more-products').parents('.cta').remove(); + // // else $('#load-more-products').parents('.cta').show(); + + // $('#load-more-products').detach(); + // $('.product__main').append(data); + // $('#load-more-products').prependTo('.product__footer'); + // }, + // error: function(data) { + // console.log(data); + // } + // }); + // }); - $('.wpfMainWrapper').prepend(''); - $('.wpfMainWrapper').find('.wpfFilterWrapper').appendTo($('.wpfFilters')); + // $('.wpfMainWrapper').prepend(''); + // $('.wpfMainWrapper').find('.wpfFilterWrapper').appendTo($('.wpfFilters')); - $('.wpfFilterWrapper').each(function () { - if ($(this).data('filter-type') === 'wpfPrice') { - $(this).find('.wpfFilterContent').append(''); - $(this).find('.wpfPriceFilterRange').appendTo('.wpfExpandablePart'); - $(this).find('.wpfPriceInputs').appendTo('.wpfExpandablePart'); + // $('.wpfFilterWrapper').each(function () { + // if ($(this).data('filter-type') === 'wpfPrice') { + // $(this).find('.wpfFilterContent').append(''); + // $(this).find('.wpfPriceFilterRange').appendTo('.wpfExpandablePart'); + // $(this).find('.wpfPriceInputs').appendTo('.wpfExpandablePart'); - $(this).find('.wpfCurrencySymbol').detach(); - $(this).find('.wpfFilterDelimeter').detach(); - } - }); + // $(this).find('.wpfCurrencySymbol').detach(); + // $(this).find('.wpfFilterDelimeter').detach(); + // } + // }); - $('.wfpDescription').on('click', function () { - $(this).closest('.wpfFilterWrapper').toggleClass('expanded').find('.wpfCheckboxHier').slideToggle(); - $(this).parent().find('.wpfExpandablePart').slideToggle(); - }) + // $('.wfpDescription').on('click', function () { + // $(this).closest('.wpfFilterWrapper').toggleClass('expanded').find('.wpfCheckboxHier').slideToggle(); + // $(this).parent().find('.wpfExpandablePart').slideToggle(); + // }) }) diff --git a/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js b/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js index fa08a23..24a9b29 100644 --- a/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js +++ b/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js @@ -11,13 +11,49 @@ jQuery(document).ready(function ($) { }) // END OVERLAY + + + $('.product__main').on('click', '.counter__button', function(evt) { + evt.preventDefault(); + let product = $(this).closest('.product__item'); + let priceElement = product.find('.select__state'); + let price = parseFloat(priceElement.data('product_price')); + let qty = product.find('.counter__input'); + + // Если цена не найдена, пытаемся взять её из .product-item__price + if (!price || isNaN(price)) { + let priceText = product.find('.product-item__price p').text(); + price = parseFloat(priceText.replace(/[^0-9\.,]/g, '').replace(',', '.')); + } + + // Обновляем количество + if ($(this).hasClass('minus') && parseInt(qty.val()) >= 2) { + qty.val(parseInt(qty.val()) - 1); + } else if ($(this).hasClass('plus')) { + qty.val(parseInt(qty.val()) + 1); + } + + // Обновляем атрибут data-quantity для кнопки "Добавить в корзину" + product.find('.product-item-overlay__button a').attr('data-quantity', qty.val()); + + // Обновляем цену без символа валюты (он добавляется через ::after) + console.log(price * qty.val()) + product.find('.product-item-overlay__price').html((price * qty.val())); + }); + + + $('.product__main').on('click', '.state__button', function(evt) { evt.preventDefault(); let product = $(this).closest('.product__item'); let price = $(this).data('product_price'); let id = $(this).data('product_id'); let qty = product.find('.counter__input').val(); - product.find('.product-item-overlay__price').html(price * qty + ' '); + console.log('qty', price * qty) + window.t = product.find('.product-item-overlay__price') + console.log(t) + var new_price = price * Number(qty) + product.find('.product-item-overlay__price').html(new_price + ' '); product.find('.select__state').data('product_price', price).data('product_id', id).val($(this).text().trim()); product.find('.state__block').removeClass('expanded').css('height', '0'); @@ -25,34 +61,6 @@ jQuery(document).ready(function ($) { product.find('.product-item-overlay__button').prepend('Добавить в корзину'); }) -$('.product__main').on('click', '.counter__button', function(evt) { - evt.preventDefault(); - let product = $(this).closest('.product__item'); - let priceElement = product.find('.select__state'); - let price = parseFloat(priceElement.data('product_price')); - let qty = product.find('.counter__input'); - - // Если цена не найдена, пытаемся взять её из .product-item__price - if (!price || isNaN(price)) { - let priceText = product.find('.product-item__price p').text(); - price = parseFloat(priceText.replace(/[^0-9\.,]/g, '').replace(',', '.')); - } - - // Обновляем количество - if ($(this).hasClass('minus') && parseInt(qty.val()) >= 2) { - qty.val(parseInt(qty.val()) - 1); - } else if ($(this).hasClass('plus')) { - qty.val(parseInt(qty.val()) + 1); - } - - // Обновляем атрибут data-quantity для кнопки "Добавить в корзину" - product.find('.product-item-overlay__button a').attr('data-quantity', qty.val()); - - // Обновляем цену без символа валюты (он добавляется через ::after) - console.log(price * qty.val()) - product.find('.product-item-overlay__price').html((price * qty.val())); -}); - $('.product__main').on('click', '.select__state', function(evt) { evt.preventDefault(); let product = $(this).closest('.product__item'), @@ -128,348 +136,3 @@ $('.product__main').on('click', '.counter__button', function(evt) { }) - -// // header -// toggleOpenX('.lang', '.lang__open', '.lang__list', '.lang__content', false); -// toggleHeader('#pc-menu','.header__menu-block','.header__pc-menu', '.white', 'white'); -// toggleHeader('#phone-menu','.header__menu-block','.header__phone-menu', '.white', 'white'); -// // header - -// // modal -// modalOpen('.button--filter', '.modal__filter'); -// modalOpen('.basket-open', '.modal__basket'); -// modalOpen('.login-open', '.modal__login'); -// modalOpen('.open-to-know', '.modal__to-know'); -// modalClose('.modal__close'); -// modalClose('.modal-form-sub__close'); -// let modalWindow = document.querySelector('.modal'); // Изменено с modal на modalWindow - -// modalWindow.onclick = function (event) { -// let target = event.target; - -// if (target.classList.contains('modal')) { -// let aside = target.querySelector('.modal__aside'), -// modalItem = target.querySelector('.modal__item.active'); - -// aside.style.width = '0px'; -// setTimeout(() => { -// modalItem.style.cssText = ''; -// modalItem.classList.remove('active'); -// target.classList.remove('active'); -// }, 300); -// } -// } - -// // modal - -// // toggle -// toggleOpenX('.toggle', '.toggle__title', '.toggle__content', '.toggle__block-content', true); -// // toggle - -// // radio-button -// let radioButtons = document.querySelectorAll('.radio-button'); - -// radioButtons.forEach(radioBlock => { -// let buttons = radioBlock.querySelectorAll('.button'); - -// buttons.forEach(button => { -// let input = radioBlock.querySelector('.radio-button__input'); - -// button.onclick = function (e) { -// e.preventDefault(); - -// buttons.forEach(thisButton => { -// if (thisButton.classList.contains('active')) { -// thisButton.classList.remove('active') -// } -// }) - -// let text = button.textContent.trim(); - -// button.classList.toggle('active'); - -// input.value = text; -// } -// }) -// }) -// // radio-button - - -// let products = document.querySelectorAll('.product__item'); - -// products.forEach(productItem => { -// let button = productItem.querySelector('.open-overlay'), -// overlay = productItem.querySelector('.product-item__overlay'); - - -// if (button) { -// button.onclick = function (e) { -// document.querySelectorAll('.product__item').forEach(e => { -// if (e.classList.contains('active')) { -// e.classList.remove('active'); -// } -// }); -// document.querySelectorAll('.product-item__overlay').forEach(e => { -// if (e.classList.contains('active')) { -// e.classList.remove('active'); -// } -// }); - -// productItem.classList.toggle('active'); -// overlay.classList.toggle('active'); -// } -// } - -// }) - - - -// // select -// // toggleOpenX('.select', '.select__state' , '.state__content', '.state__block', true); - -// // let selects = document.querySelectorAll('.select'); - -// // selects.forEach(select => { -// // let state = select.querySelector('.select__state'), -// // content = select.querySelector('.state__block'), -// // buttons = select.querySelectorAll('.state__button'); - -// // buttons.forEach(e => { -// // let button = e; - -// // e.onclick = function (event) { -// // event.preventDefault(); - -// // buttons.forEach(element => { -// // if (element.classList.contains('active')) { -// // element.classList.remove('active'); -// // } -// // }) - -// // let text = e.textContent.trim(); -// // state.value = text; - -// // button.classList.add('active'); -// // content.style.height = 0; -// // select.classList.remove('active'); -// // } -// // }) -// // }) - - -// // select - -// // counter -// // let counters = document.querySelectorAll('.counter'); - -// // counters.forEach(e => { -// // let minus = e.querySelector('.minus'), -// // plus = e.querySelector('.plus'), -// // input = e.querySelector('.counter__input'); - -// // minus.onclick = function (e) { -// // e.preventDefault(); - -// // let number = input.value; - -// // if (number >= 2){ -// // input.value = Number(number) - 1; -// // } -// // } - -// // plus.onclick = function (e) { -// // e.preventDefault(); - -// // let number = input.value; - -// // if (number <= 99) { -// // input.value = Number(number) + 1; -// // } -// // } -// // }) -// // counter - -// // checkbox -// let checkbox = document.querySelectorAll('.checkbox'); - -// checkbox.forEach(e => { -// e.onclick = function (event) { -// let input = e.querySelector('.checkbox__input'); - -// if (!e.classList.contains('active')) { -// input.checked = 1; -// }else{ -// input.checked = 0; -// } -// e.classList.toggle('active'); -// } -// }) -// // checkbox - - -// // function modalOpen(buttonElement, contentElement) { -// // let modal = document.querySelector('.modal'), -// // aside = document.querySelector('.modal__aside'), -// // elements = document.querySelectorAll(buttonElement), -// // body = document.querySelector('body'); - -// // elements.forEach(e => { -// // let thisContentElement = document.querySelector(contentElement); - -// // e.onclick = function () { -// // body.classList.add('overflow-hidden'); -// // modal.classList.add('active'); -// // thisContentElement.classList.add('active'); - -// // // Set width and position based on screen size -// // const isMobile = window.matchMedia("(max-width: 768px)").matches; -// // aside.style.width = isMobile ? '80vw' : '20vw'; -// // aside.style.right = '0'; -// // }; -// // }); -// // } - -// // function modalClose(buttonElement) { -// // let modal = document.querySelector('.modal'), -// // aside = document.querySelector('.modal__aside'), -// // asideItems = document.querySelectorAll('.modal__item'), -// // elements = document.querySelectorAll(buttonElement), -// // body = document.querySelector('body'); - -// // elements.forEach(e => { -// // e.onclick = function () { -// // body.classList.remove('overflow-hidden'); -// // aside.style.width = '0px'; - -// // asideItems.forEach(e => { -// // if (e.classList.contains('active')) { -// // e.style.filter = 'blur(10px)'; -// // } -// // }); - -// // setTimeout(() => { -// // asideItems.forEach(e => { -// // if (e.classList.contains('active')) { -// // e.classList.remove('active'); -// // } -// // }); - -// // modal.classList.remove('active'); -// // }, 300); -// // } -// // }) -// // } - -// function toggleOpenX(mainElement, buttonElement ,heightElement, contentElement, close) { -// let elements = document.querySelectorAll(mainElement); - -// elements.forEach(e => { -// let thisMainElement = e, -// thisButtonElement = e.querySelector(buttonElement), -// thisHeightElement = e.querySelector(heightElement), -// thisContentElement = e.querySelector(contentElement); - -// thisButtonElement.onclick = function (e) { -// let height = thisHeightElement.clientHeight; - -// if (close == true && !thisMainElement.classList.contains('active')) { -// elements.forEach(e => { -// if (e.classList.contains('active')) { -// e.classList.remove('active'); -// e.querySelector(contentElement).style.height = null -// } -// }) -// } - -// if (!thisMainElement.classList.contains('active')) { -// thisContentElement.style.height = `${height}px`; -// thisMainElement.classList.add('active'); -// }else{ -// thisContentElement.style.height = null; -// thisMainElement.classList.remove('active'); -// } -// } - -// }); -// } - -// function toggleHeader(button, content, blockheight, removeBlock, removeClass) { -// let thisButton = document.querySelector(button), -// thisContent = document.querySelector(content), -// thisRemoveBlock = document.querySelector(removeBlock) || '', -// thisBlockheight = document.querySelector(blockheight); - -// thisButton.onclick = function () { -// let height = thisBlockheight.clientHeight; - -// if (!thisContent.classList .contains('open')) { -// thisContent.style.height = `${height}px`; -// thisContent.classList .add('open'); - -// if (removeBlock) { -// thisRemoveBlock.classList.remove(removeClass); -// } -// }else{ -// thisContent.style.height = null; -// thisContent.classList .remove('open'); - -// if (removeBlock) { -// if (window.scrollY <= 25) { -// thisRemoveBlock.classList.add(removeClass); -// } -// } -// } -// } -// } -// // function - -// // resize -// window.addEventListener('resize', (e) => { -// let width = window.screen.width; - -// // media -// modalOpen('.button--filter', '.modal__filter'); -// modalOpen('.basket-open', '.modal__basket'); -// modalOpen('.open-to-know', '.modal__to-know'); -// modalClose('.modal__close'); - -// let modalItem = document.querySelectorAll('.modal__item'); - -// // if (width <= 720) { -// modalItem.forEach(modal => { -// if (modal.classList.contains('active')) { -// let aside = document.querySelector('.modal__aside'); - -// if (width <= 720) { -// aside.style.width = `${width}px` -// }else{ -// let openAside = document.querySelector('.modal__item.active'), -// newWidth = openAside.clientWidth; - -// aside.style.width = `${newWidth}px` -// } -// } -// }) -// // } -// }); -// // resize - -// // scroll - - -// if (document.querySelector('.header').classList.contains('white')) { -// window.addEventListener("scroll", function (e) { -// let header = document.querySelector('.header'); -// let scroll = window.scrollY; - -// if (scroll >= 25) { -// header.classList.remove('white') -// }else{ -// header.classList.add('white') -// } - -// }); -// } -// // scroll - -