@AFI19

Как убрать подергивания блока при скроле?

Есть блок для моб.устройств который открывается/закрывается с помощью плагина Toggler(Foundation). Хочу сделать, что бы блок скрывался не только по клику на кнопку как сейчас, но и при скролле(или при клике вне блока). Когда начинаешь скролить блок дергается и не всегда скрывается. Как исправить баг, может выбрать другое событие?
Пример для визуального отображения подергивания, код в проекте другой.
(Воспроизвести его через сниппет не получилось)
Закрываю блок с помощью метода плагина
$(window).scroll(function() {
           let menuStatus = $('#js-mobile-menu').attr('aria-expanded');
           if( menuStatus === 'true') {
              $('#js-mobile-menu').foundation('toggle');
           }
	});


Пример
https://codepen.io/AFI/pen/ddbqoj
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Stalker_RED
@Stalker_RED
Когда колесо крутится, возникает множество событий scroll.
Можете проверить
$(window).scroll(function(evt) {
  console.log(evt)
});



Вам нужно прикрутить throttle/debounce, чтобы закрывание срабатывало один раз.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы