Я новичок в javascript, и я пытаюсь сделать анимацию с помощью javascript onscroll. Я хочу, чтобы заголовок стал фиксированным, а меню мессенджера появлялось внизу страницы при прокрутке. До этого я все делал нормально. Но я также хочу, чтобы окно обмена сообщениями меняло свой цвет, когда я доходил до нижнего колонтитула.
Я думаю, что у меня есть ошибка условия, так как я пытаюсь написать операторы if, которые связаны, и я не смог найти никаких решений.
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (window.innerWidth > 850) {
if (document.body.scrollTop > headerOffset || document.documentElement.scrollTop > headerOffset) {
navbar.classList.add('fixed');
navCont.style.width = ('85%');
messenger.classList.add('messengerFix');
logo.style.filter = 'invert(100%)';
search.style.filter = 'invert(100%)';
if (document.body.scrollTop === footerOffset || document.documentElement.scrollTop > footerOffset) {
messenger.style.background = "yellow";
}
}
else {
navbar.classList.remove('fixed');
navCont.style.width = ('100%');
messenger.classList.remove('messengerFix');
logo.style.filter = 'invert(0)';
search.style.filter = 'invert(0)';
}
}
}
Я ценю любую помощь или любой совет. Спасибо заранее за вашу помощь.
Кстати, извините, что сообщаю вам, что код, который вы включили почти не подходит, по стандартам минимальный воспроизводимый пример, который вы должны включать для таких проблем.
Вы включаете в свой код кучу переменных, но не указываете, что они представляют. Это хорошая идея, чтобы показать, как вы устанавливаете переменные, которые вы используете в своем коде (по крайней мере, укажите, какой тип значения они представляют).
window.onscroll = function() {scrollFunction()}; ---> window.onscroll = scrollFunction;


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Замените
window.onscroll = function() {scrollFunction()};наwindow.addEventListener('scroll', scrollFunction, {passive: true}). Это позволит вам добавить несколько прослушивателей прокрутки в ваше окно, и улучшить производительность прокрутки