@Nohaga

Как отследить скрол вниз на некоторое растояние?

Вот такой код, при 1 пиксели скроле вниз уже срабатывает и менюшка исчезает. А в сафари например там эффект качания, типо когда скролишь сайт покачивается вверх вниз, это учитывается скролом. Там менюшка дёргается то появляется то ичезает, если бы сделать чтоб срабатывало только при скроле 50 пикселей например, чтоб не реагировала на эти шатания и мелкие движения пальца.
var lastScrollTop = 0;
$(window).scroll(function(event){
   var st = $(window).scrollTop();
   if (st > 100 && st > lastScrollTop){
      $('.header_top').addClass('hide');
   } else {
      $('.header_top').removeClass('hide');
   }
   lastScrollTop = st;
});
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
deMone
@deMone
Техдиректор — tech-director.ru
Ну, вам видимо мешает вот эта часть условия: st > lastScrollTop, потому что при любом скролле вниз ваше текущее состояние всегда будет больше предыдущего.

Если вы уберёте эту часть условия и оставите только if (st > 100), то сможете учитывать, что страница проскроллилась именно на нужное расстояние вниз. А lastScrollTop вам и вовсе не нужен.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы