ScrollMagic — это мощная библиотека для управления анимациями при прокрутке страницы. Один из самых быстрых способов начать работу с ней — подключение через CDN (Content Delivery Network). Это позволяет использовать библиотеку без установки через npm или загрузки локальных файлов.
Для работы ScrollMagic требуется подключить основной JavaScript-файл. Наиболее популярные CDN-сервисы предоставляют доступ к последней стабильной версии библиотеки. Пример подключения через jsDelivr:
<script src="https://cdn.jsdelivr.net/npm/scrollmagic@2.0.8/scrollmagic/minified/ScrollMagic.min.js"></script>
Ключевые моменты:
ScrollMagic.min.js) для уменьшения времени загрузки.2.0.8) для стабильности
проекта.</body> или после подключения необходимых
зависимостей, чтобы DOM успел прогрузиться.ScrollMagic имеет несколько официальных плагинов, расширяющих
функциональность. Наиболее часто используется плагин
animation.gsap, позволяющий интегрировать GSAP-анимации с
ScrollMagic:
<script src="https://cdn.jsdelivr.net/npm/scrollmagic@2.0.8/scrollmagic/minified/plugins/animation.gsap.min.js"></script>
Для работы с индикаторами сцен можно подключить
debug.addIndicators:
<script src="https://cdn.jsdelivr.net/npm/scrollmagic@2.0.8/scrollmagic/minified/plugins/debug.addIndicators.min.js"></script>
Важно: плагины должны подключаться после основного скрипта ScrollMagic. В противном случае при инициализации сцены могут возникнуть ошибки.
Для анимаций с ScrollMagic часто используют GSAP. В случае подключения через CDN добавляется скрипт GSAP:
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.13.0/gsap.min.js"></script>
После подключения GSAP и ScrollMagic с плагином
animation.gsap создается сцена с анимацией:
<script>
const controller = new ScrollMagic.Controller();
const tween = gsap.to(".box", { duration: 1, x: 300, rotation: 360 });
const scene = new ScrollMagic.Scene({
triggerElement: ".trigger",
duration: 500,
triggerHook: 0.5
})
.setTween(tween)
.addIndicators({ name: "box animation" })
.addTo(controller);
</script>
Объяснение кода:
ScrollMagic.Controller() управляет всеми сценами на
странице.ScrollMagic.Scene задает условия для анимации:
элемент-триггер, продолжительность действия (duration),
точку срабатывания (triggerHook)..setTween(tween) связывает GSAP-анимацию с сценой..addIndicators() добавляет визуальные маркеры для
отладки.Для ускорения загрузки страницы можно подключать скрипты с атрибутами
defer или async. Однако для ScrollMagic
предпочтительнее использовать defer, чтобы сохранить
порядок загрузки зависимостей:
<script src="https://cdn.jsdelivr.net/npm/scrollmagic@2.0.8/scrollmagic/minified/ScrollMagic.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/scrollmagic@2.0.8/scrollmagic/minified/plugins/animation.gsap.min.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.13.0/gsap.min.js" defer></script>
Разница между async и defer:
async — скрипт загружается параллельно, выполнение
происходит сразу после загрузки, что может нарушить порядок.defer — скрипт загружается параллельно, но выполняется
в порядке подключения после полной загрузки DOM.defer.animation.gsap.debug.addIndicators.Использование CDN — оптимальный способ быстро начать работу с ScrollMagic, обеспечивая удобное подключение, интеграцию с GSAP и возможность отладки сцен без сложной сборки проекта.