@RuslanTimuziyev
Немного кодер

Как сделать появление объекта (допустим, меню), когда мы проскролили где-то 500 px вниз?

И наоборот: когда движемся вверх, то элемент пропадает.
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
edalis
@edalis
HTML, CSS, JS, Node.js
.menu { display: none; }

$(window).on('scroll', function() {
    if ($(this).scrollTop() > 500) {
        $('.menu').fadeIn();
    } else {
        $('.menu').fadeOut();
    }
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DirecTwiX
@DirecTwiX
"display: flex;" уже предлагали?
var ttl = 0;
var prevS, prevScrollDir;
$(window).on('scroll', function() {
  var s = $(this).scrollTop();
  var scrollDir = s > prevS;
  
  if (scrollDir == prevScrollDir) {
    ttl += (s-prevS);
    if (ttl > 500) {
      $(".m").removeClass('hide');
    }
  } else {
    ttl = 0;
    $(".m").addClass('hide');
  }
  
  prevS = s;
  prevScrollDir = scrollDir;
});

codepen.io/anon/pen/BLGjpV
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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