KarlosSatana
@KarlosSatana

Как запустить анимацию, когда div попадает в viewport?

Есть div, в котором присутствует небольшая анимация, но сам div спрятан отрицательным отступом и вызывается при клике на ссылку. Естественно при старте сайта, вся анимация проигрывается и при вызове того самого дива, её уже не увидеть.
  • Вопрос задан
  • 630 просмотров
Пригласить эксперта
Ответы на вопрос 2
webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...
Вариант 1
$('a).click(function(){
  $('div').show().animate({
    // а тут анимация
  });
});

Вариант 2
$('a).click(function(){
  $('div').show().addClass('animate'); // класс, который анимирует блок
});

Вместо show() у тебя наверно css(), но это сути не меняет.
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Для отслеживания попадания элемента во вьюпорт есть IntersectionObserver https://developer.mozilla.org/ru/docs/Web/API/Inte...
Ну и саму анимацию стоит вынести в отдельный css класс, и вешать его, когда нужно запускать анимацию
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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