Как анимировать элементы при прокрутке страницы.
Всем привет! В этой статье мы рассмотрим, как создавать анимации при прокрутке страницы на чистом javascript.
Описание
Для создания эффектов мы будем использовать библиотеку ScrollTrigger.js. Она позволит вам очень просто добавить анимации при прокрутке страницы на ваш сайт. Давайте рассмотрим, какие у нее особенности.
Особенности
- Все анимации построены на классах, поэтому вы можете извлечь выгоду, которую дают вам CSS3 анимации
- Библиотека написана полностью на чистом javascript
- Использует метод window.requestAnimationFrame, поэтому анимации вызываются тогда, когда браузер готов к этому
- Простой синтаксис. Вы определяете опции внутри html атрибута и вам больше не нужно обращаться к javascript, после того, как вы провели инициализацию
- Библиотеку легко можно настроить под себя, добавить или изменить функционал
- Поддерживает как горизонтальный, так и вертикальный режим работы
- OpenSource
Посмотреть, как это работает, вы можете здесь, а исходники находятся тут.
Как это работает
Чтобы привести библиотеку в действие, вам нужно сделать два следующие простых шага:
Подключите необходимый файл и запустите скрипт.
<script src="ScrollTrigger.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function(){
var trigger = new ScrollTrigger();
});
</script>
Вы можете провести более точную настройку.
document.addEventListener('DOMContentLoaded', function(){
var trigger = new ScrollTrigger({
toggle: {
visible: 'visibleClass',
hidden: 'hiddenClass'
},
offset: {
x: 0,
y: 20
},
addHeight: true,
once: true
}, document.body, window);
});
Добавьте data-scroll атрибут в HTML-элемент, который вы хотите анимировать.
<div data-scroll></div>
Когда вы прокручиваете страницу и элемент становится видимым для окна просмотра, скрипт добавит класс visible. Когда элемент выходит из области видимости, будет добавлен класс invisible. Теперь вы можете настроить классы так, как вам нужно:
// БАЗОВЫЙ ПРИМЕР
.invisible {
transition: opacity 0.5s ease;
opacity: 0.0;
}
.visible {
transition: opacity 0.5s ease;
opacity: 1.0;
}
Заключение
Итак, сегодня мы рассмотрели, как анимировать элементы при прокрутке страницы. Более подробную информацию по настройке вы можете найти на сайте разработчика.
Спасибо за внимание!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.