Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- document.querySelector(document).addEventListener('ready', function () {
- let filterChooseBlock = document.querySelector('.catalog__goods-pane-filter-choose-wrap'),
- animationDuration = 300,
- isScrolled = false;
- arrowVisibility();
- filterChooseBlock.addEventListener('scroll', () => {
- arrowVisibility();
- });
- if (isScrollActive()) {
- document.querySelector('.filterPaneBlock').classList.add('scrollActive');
- }
- filterChooseBlock.addEventListener('scroll', () => {
- if (!isScrolled) {
- gaWrapper.ga('send', 'event', 'Products-Filter', 'filter-tab-scroll');
- isScrolled = true;
- }
- })
- if (typeof ResizeObserver === 'function') {
- let resizeObserver = new ResizeObserver(() => {
- arrowVisibility();
- if (isScrollActive()) {
- document.querySelector('.filterPaneBlock').classList.add('scrollActive');
- return;
- }
- document.querySelector('.filterPaneBlock').removeClass('scrollActive');
- });
- resizeObserver.observe(document.getElementsByClassName('catalog__goods-pane-filter-choose-wrap')[0]);
- }
- document.querySelector('.clickLeftBlock').addEventListener('click', () => {
- filterChooseBlock.finish()
- filterChooseBlock.animate({scrollLeft: filterChooseBlock.scrollLeft() - 100},
- animationDuration,
- arrowVisibility);
- });
- document.querySelector('.clickRightBlock').addEventListener('click', (event) => {
- filterChooseBlock.finish()
- filterChooseBlock.animate({scrollLeft: filterChooseBlock.scrollLeft() + 100},
- animationDuration,
- arrowVisibility);
- });
- document.querySelector('.select-sort-current').addEventListener('click', (event) => {
- if (globalUI.isMobile && !document.querySelector('.select-sort_open').length) {
- event.stopPropagation();
- sortSelectPopUp();
- }
- });
- });
- function sortSelectPopUp() {
- if (document.querySelector('.select-sort_open').length) {
- return;
- }
- let sortSelect = document.querySelector('.catalog__sort-form-mobile');
- document.querySelector('body').insertAdjacentHTML("beforeend",'<span class="darkMask"></span>');
- sortSelect.css('display', 'block');
- document.querySelector(document).addEventListener('click', (event) => {
- if (!document.querySelector(event.target).closest('.catalog__sort-form-mobile').length) {
- sortSelect.css('display', 'none');
- document.querySelector('.darkMask').remove();
- gaWrapper.ga('send', 'event', 'Products-Sort', 'sort-option', 'deactivate');
- }
- })
- }
- function arrowVisibility() {
- let filterChooseBlock = document.querySelector('.catalog__goods-pane-filter-choose-wrap'),
- rightSelector = document.querySelector('.clickRightBlock'),
- leftSelector = document.querySelector('.clickLeftBlock');
- if (isScrollActive()) {
- if (filterChooseBlock.get(0).scrollWidth - filterChooseBlock.scrollLeft() <= filterChooseBlock.outerWidth()) {
- rightSelector.css('visibility', 'hidden');
- } else {
- rightSelector.css('visibility', 'visible');
- }
- if (filterChooseBlock.scrollLeft() === 0) {
- leftSelector.css('visibility', 'hidden');
- } else {
- leftSelector.css('visibility', 'visible');
- }
- return;
- }
- rightSelector.css('visibility', 'hidden');
- leftSelector.css('visibility', 'hidden');
- }
- function isScrollActive() {
- let element = document.querySelector('.catalog__goods-pane-filter-choose-wrap').get(0);
- return element.scrollWidth > element.clientWidth;
- }
- function sortListBorderColorChange(currentPageUrl) {
- let borderColorSelected = '#1A77D2',
- selectSortClass = '.select-sort';
- if (localStorage.getItem('sortPage') === currentPageUrl) {
- document.querySelector(selectSortClass).css('border-color', borderColorSelected);
- return;
- }
- document.querySelector('.select-sort-mobile, .select-sort li').addEventListener('click', () => {
- document.querySelector(selectSortClass).css('border-color', borderColorSelected);
- localStorage.setItem('sortPage', currentPageUrl);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement