@Araya

Как заставить срабатывать условие?

Всем добрый вечер. В шапке есть логотип, который после прелодера должен анимировано показываться, но если по какой-то причине пользователь открыл сайт не с шапки и доскролил до этого места, должна пройти анимация. То есть setTimeOut тут не прокатит. Пытался и в функцию выносить, лучше не стало, есть идеи как это реализовать?
PS Сама анимация сделана на CSS с помощью translate и transition.

let el = document.querySelector('.el');
    el.classList.add('animate');
    window.addEventListener('scroll', () => {
        let bottom = el.getBoundingClientRect().bottom;
        if (bottom >= 0) {
            el.classList.remove('animate');
        }
    });
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
mrerberg
@mrerberg
Yep
Может подойти подобное API:
https://developer.mozilla.org/en-US/docs/Web/API/I...

Вкратце, если заданный блок попадает в видимую область окна браузера, срабатывает callback. В вашем случае, если детектится шапка, то пусть логотипу выставляется класс.
Ответ написан
Комментировать
@MaksPaverov
Если не ошибаюсь, то условие:
if  ($(window).scrollTop() == $(document).height()) 
     {
          
     }


Так же и до низа страницы
if  ($(window).scrollTop() == $(document).height() - $(window).height()) 
     {
          
     }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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