Всем привет, не хочу подгружать в проект animate.css, в виду ненужности большинства анимаций. Написал анимацию для блока, но она срабатывает при загрузке страницы. Какое свойство отвечает за отложенность анимации, нужно что бы срабатывала только при видимости блока пользователем. И можно ли это реализовать с помощью css, или нужен js для отслеживания?
Если я правильно понял, на лицо попытка сделать красивое появление элемента в момент, когда до него доскролливает юзер. Отследить его появление действительно можно только с js через $(window).scrollTop() и $(element).offset().top.
Однако есть и готовые решения. Пара из них вот это и вот это, сам часто использую.
Animation-delay для отложенного запуска. Но не спасет с lazy-load (есть кончено хромовский lazy-load, который поддерживается далеко не всеми). Тут уже с js можно запустить для запуска при видимости
lazy-load не используется в проекте, так что думаю проблем не возникнет. Но почитав про delay - скорее всего тут не подойдет, delay статичен, и если пользователь задержится на первом экране, анимация уйдет в воду.
Underdoggit, ну я про это и говорил. В принципе, если запустите через js анимацию, будет проще. Чисто навешайте листенер на скрол ивэнте и вызовите анимацию, когда дойдёте до нужного места