@Araya

Почему функция не срабатывает?

Всем доброго времени суток, уже не первый день бьюсь с неоднозначной проблемой.
Есть функция, которая принимает в себя элемент как параметр, вычисляет ее расположение относительно окна и если элемент видим в окне браузера, то срабатывает classList.remove (через transition)
Эта функция также срабатывает по скроллу и вызывается, если элемент уже виден со старта.

В чем состоит задумка: Пользователь заходит на страничку и если он видит элемент, то срабатывает анимация. Если элемент не в окне браузера, то он ждет когда до него доскроллят и также срабатывает анимация.

Проблема: Если элемент виден изначально, то класс даже не присваивается и анимация не срабатывает. Но если до него доскроллить с другого места, то все работает.

Буду очень благодарен, если поможете с решением проблемы.

Код: https://codepen.io/anon/pen/BMyvOQ
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 1
@deniz1983
...
Как-то пришлось делать похожее - нужно было прятать один элемент, пока виден другой. Наиболее удачный и кросс-браузерный вариант оказался подключить плагин jquery: https://github.com/customd/jquery-visible там можно еще установить, на условие чтобы "совсем невидим" или "частично виден".
Ответ написан
Ваш ответ на вопрос

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

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