WOW.js + Animate.css – скрипт анимации для сайта

Сегодня мы будем учиться анимировать объекты сайта легко и быстро, при помощи двух скриптов. Название которых вы можете наблюдать выше, в заголовке этой статьи. Но в начале, давайте я вам расскажу, для чего нужен каждый из них.

WOW.js – это маленькая библиотека, которая позволяет включать анимацию на определенном этапе прокрутки страницы. Весит очень мало, и к тому же полностью самостоятельна – то есть нет необходимости подключать jQuery или других монстров.

Animate.CSS – скрипт, который непосредственно отвечает за саму анимацию. По сути wow.js берет анимации именно из этой штуки. А там их несколько десятков.

Недостаток animate.css заключается в том, что это всего лишь обычный набор CSS-правил завязанных на анимации. То есть они проигрываются сразу после загрузки страницы. И если анимируемые элементы не видны на “первом” экране, то всю эту красоту посетители просто не увидят. Ведь она проиграется еще до того, как они перемотают страницу к нужному месту.

И в первой заметке (ссылка в следующем абзаце), что бы этого не происходило, я показывал вам, как и где прописывать js-коды, что бы анимация проигрывалась на определенном этапе скролла страницы. Это было крайне неудобно, однако работало на ура
Поэтому, перед тем как начать, советую посмотреть урок “Animate.CSS”. Так как я уже буду подразумевать, что вы умеете пользоваться анимацией на сайте. Заодно вы сразу поймете, насколько wow.js облегчает работу. Ведь теперь нам не надо будет писать и копаться в js-коде. Подключил и забыл

И так, с введением покончено. Теперь давайте ближе к “телу”. Я записал видео-урок по этой теме, однако перед просмотром, хочу показать то, что получится у вас, если пройдете урок до конца на практике. Так сказать, для большей мотивации



Урок: WOW.js и Animate.CSS – вместе веселее!

  1. Скачать Animate.CSS
  2. Скачать WOW.js

Настройка WOW.js

Как скачать и подключить.

1 шаг. Скачать скрипты wow.js и animate.css с официальных сайтов (ссылки смотрите выше) и разместить их в папке своего проекта.

2 шаг. Подключаем скрипты простым HTML кодом на странице в теге <head> :

<link rel="stylesheet" href="animate.min.css">
<script src="wow.min.js"></script>

Примечание:

Тег script необходимо всегда добавлять в конец body. Это делается для быстроты загрузки страницы. Каждый раз, когда браузер доходит до тега script, загрузка и рендеринг всего сайта замораживается, пока скрипт не будет загружен.

Шаг 3. Необходимо инициализировать скрипт добавив вот такой код, сразу после его подключения:

<script>
 new WOW().init();
</script>

На этом подключение заканчивается, и настает пора второго этапа.

Использование WOW.js

Шаг 1. Выбираем элемент, который хотим анимировать и добавляем ему класс class="wow" . В коде ниже, я показал это на примере картинки:

<img 
class="wow" 
src="images/dog1.jpg" 
alt="Собака - лучший друг человека">

Шаг 2. Выбираем анимацию, и добавляем её дополнительным классом к нашей собачке:

<img 
class="wow zoomInUp" 
src="images/dog1.jpg" 
alt="Собака - лучший друг человека">

Шаг 3. Добавляем настройки для анимации если надо, при помощи специальных data-атрибутов :

<img 
class="wow zoomInUp" 
data-wow-offset="200" 
data-wow-delay="0.5s" 
data-wow-duration="2s" 
src="images/dog1.jpg" 
alt="Собака - лучший друг человека">

В коде выше я указал, что анимация должна срабатывать, когда картинка пройдет 200 пикселей от низа экрана. Но при этом у нее будет задержка в пол секунды, а сама анимация будет занимать по времени ровно 2 секунды.

Настройки WOW.js анимации через атрибуты

data-wow-duration – указываем время проигрывания анимации data-wow-delay – ставим задержку перед проигрыванием анимации data-wow-offset – включение анимации, когда элемент проходит определнное количество пикселей от низа экрана data-wow-iteration – количество повторов анимации




Обращаю ваше внимание на то, что эти атрибуты не обязательные. Если вы их не укажете, анимация будет просто проигрываться по умолчанию, как только элемент появится на экране при прокрутке окна браузера.

Ну что же ребята. На этом пожалуй все. Если будут вопросы – задавайте в комментариях ;)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.