Кидает ошибку Uncaught TypeError: Cannot read property 'classList' of undefined
loadMoreBtn[0].addEventListener('click', () => {
loadMore(0, 12, 24, amazingWorkContent);
})
function loadMore(btnIndx, startPoint, endPoint, content) {
loadMoreBtn[btnIndx].classList.remove('active');
loadBtn[btnIndx].classList.add('active');
setTimeout(() => {
loadBtn[btnIndx].classList.remove('active');
if (BtnSwitch === 0) {
for (let i = startPoint; i < endPoint; i++) {
content[i].classList.add('active');
}
loadMoreBtn[btnIndx].classList.add('active');
BtnSwitch = 1;
} else {
for (let i = startPoint * 2; i < endPoint * 2; i++) {
content[i].classList.add('active');
}
BtnSwitch = 0;
}
}, 1000)
}
Выдает ошибку к строке - content[i].classList.add('active'); не понимаю почему так происходит. При нажатии на кнопку loadMore должны подгрузиться картинки
Ответы (1 шт):
Автор решения: Вадим Александру
→ Ссылка
У вас идет запрос к элементу массива по несуществующему индексу. попробуйте поменять этот кусок кода
for (let i = startPoint; i < endPoint; i++) {
content[i].classList.add('active');
}
на этот
for (let i = startPoint; i < endPoint; i++) {
if(undefined !== content[i]) {
content[i].classList.add('active');
}
}