Почему, если еще оператор работает неверно, или с другой? [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Почему, если еще оператор работает неверно, или с другой? [закрыто]

Сообщение Anonymous »

Я пишу автоматический переключатель для Active Menu Item On Page Scroll Используется recesectionObserver (), но он не работал правильно с различной высотой окна. Я решил добавить «если еще», которое будет переключать пороговое значение на разных высотах окна.
Но теперь, когда я использую условное значение, когда страница обновляется, второй пункт меню освещается сначала, и пороговое количество, по -видимому, начинается со второго элемента меню. Если я укажу значение без условного оператора, все работает правильно. < /P>
код: < /p>

Код: Выделить всё

let threshold

const observer = new IntersectionObserver((entries) => {

if (window.innerHeight < 1080) {
threshold = [0.5, 1, 0.5, 0.5]
} else {
threshold = [0.5, 1, 0.9, 1]
}

console.log(window.innerHeight)
console.log(threshold)

entries.forEach((entry) => {
if (entry.isIntersecting) {
document.querySelectorAll('.header__nav-menu__list__item').forEach((link) => {
let id = link.getAttribute('href').replace('#', '')
if (id === entry.target.id) {
link.classList.add('header__nav-menu__list__item--active')
} else {
link.classList.remove('header__nav-menu__list__item--active')
}
})
}
})
}, {
rootMargin: "-100px 0px 0px 0px",
threshold: threshold
})

document.querySelectorAll('.block').forEach(block => { observer.observe(block) })
Я попытался добавить SMTH как нулевой элемент в массив, чтобы изменить порядок подсчета, но он не сработал.

Подробнее здесь: https://stackoverflow.com/questions/797 ... th-another
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»