Есть вот такой код, который возвращает ошибку
undefined is not an object (evaluating 'i.getBoundingClientRect')
в консоль... Бьюсь целый день... Помогите...
function actSect () {
var sect = document.querySelectorAll('.m-item'),
i;
for (i = 0; i <= sect.length; i++) {
var elem = sect[i],
top = sect[i].getBoundingClientRect().top,
bot = sect[i].getBoundingClientRect().bottom,
elemH = sect[i].offsetHeight,
winH = document.documentElement.clientHeight;
if (top < winH/2 && top > 0) {
if (!elem.classList.contains('-active')) {
elem.classList.add('-active');
}
} else if (bot > 0 && bot < winH/2 || top > winH) {
if (elem.classList.contains('-active')) {
elem.classList.remove('-active');
}
}
}
}
window.addEventListener('scroll', actSect);
У вас неправильное условие в цикле — нестрогое сравнение i <= sect.length
вместо правильного строгого i < sect.length
.
Замените строчку
for (i = 0; i <= sect.length; i++) {
на
for (i = 0; i < sect.length; ++i) {
Привет всем, нужна помощь по использованию локального хранилищаНужно чтобы браузер запоминал действие пользователя при сворачивании/разворачивании...
Ребят, помогите, пожалуйста, решить вопросЯ могу использовать только js