Показать сообщение отдельно
  #9 (permalink)  
Старый 04.07.2023, 12:57
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Не знаю ничего про этот плагин, но каждый раз, когда срабатывает обработчик, заданный в
bodyScrollBar.addListener(function(status){
у вас заводится внутри функции переменная
let offset = 0;
Зачем внутри обработчика каждый раз объявлять переменную и функции? Вынесите их во вне.
let offset = 0;
function collapseHeader() {
                $('.header__top').slideToggle(350);
            }
 
            function updateOffset(v) {
                const exec = v > 100 && offset <= 100 || v < 100 && offset >= 100;
                offset = v;
                if (exec) {
                    collapseHeader();
                }
            }

bodyScrollBar.addListener(function(status){
  // прокрутка страницы
  // status.offset.y - отступ сверху
 
            updateOffset(status.offset.y)
Ответить с цитированием