@corby90

Спасииите кто может? суть в том что после этого кода у меня картинки в попапе перестают работать и слик слайдер, где связь не понимаю?

"use strict";

const elem = document.querySelectorAll(".catalog__items"),
    viewList = document.querySelector('.view-block__list'),
    viewgrid = document.querySelector('.view-block__grid'),
    gItemInner = document.querySelectorAll('.g-item__inner'),
    gItemName = document.querySelectorAll('.g-item__name'),
    gItemDesc = document.querySelectorAll('.g-item__desc'),
    gItemOptions = document.querySelectorAll('.g-item__options');

/*Функция переключения на кнопке Лист*/
viewList.addEventListener('click', function() {
    viewList.classList.add('view-block__list-active');
    viewgrid.classList.remove('view-block__grid-active');
    viewgrid.style.color = '#c4c4c4';

    for (let i = 0; i < elem.length; i++) {
        elem[i].style.cssText = 'display: block;';
    }
    for (let i = 0; i < gItemInner.length; i++) {
        gItemInner[i].classList.add('g-item__inner-list');
    }
    gItemName.forEach((item) => {
        item.classList.add('g-item__name-list');
    });
    /*Начало блока с описанием*/
    gItemDesc.forEach((item) => {
        item.classList.add('g-item__desc-list');
        item.classList.remove('g-item__desc');
    });
    /*Конец блока с описанием*/
    /*Начало блока с опциями*/
    gItemOptions.forEach((item) => {
        item.classList.add('g-item__options-list');
    });
    /*Конец блока с опциями*/
});

/*Функция переключения на кнопке Таблица*/
viewgrid.addEventListener('click', function() {
    viewgrid.classList.add('view-block__grid-active');
    viewgrid.style.color = '#000';
    viewList.classList.remove('view-block__list-active');
    for (let i = 0; i < elem.length; i++) {
        elem[i].style.cssText =
            "";
    }
    for (let i = 0; i < gItemInner.length; i++) {
        gItemInner[i].classList.remove('g-item__inner-list');
    }
    gItemName.forEach((item) => {
        item.classList.remove('g-item__name-list');
    });
    /*Блок с описанием*/
    gItemDesc.forEach((item) => {
        item.classList.add('g-item__desc');
        item.classList.remove('g-item__desc-list');
    });
    /*Конец Блок с описанием*/
    /*Начало блока с опциями*/
    gItemOptions.forEach((item) => {
        item.classList.remove('g-item__options-list');
    });
    /*Конец блока с опциями*/
});

6040d0a53b415094742706.jpeg
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
ipfgr
@ipfgr
Js like hobby
Тут явно видно что
viewList = document.querySelector('.view-block__list'),

не может выбрать данный div по классу view-block_list. Либо там нет этого класса, либо этот блок еще не создан раз генерируется, либо все ок но подгрузка скрипта идет раньше чем загружается DOM.
В первых двух случаях нужно полный код видеть, тяжело так сказать. В третьем случае достаточно все обернуть в
document.addEventListener('DOMContentLoaded', function () {
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы