В ScrollMagic визуальная отладка — это мощный инструмент для понимания работы сцен и триггеров, позволяющий точно видеть, как и когда активируются анимации на скролле. Она особенно полезна при сложных последовательностях анимаций, когда требуется контроль над положением элементов и временем срабатывания сцен.
Для отображения отладочной информации используется метод
addIndicators(), который добавляет визуальные метки к
каждой сцене. Эти метки показывают:
Пример подключения индикаторов:
var controller = new ScrollMagic.Controller();
var scene = new ScrollMagic.Scene({
triggerElement: "#trigger",
duration: 300
})
.setTween("#animate", {opacity: 1, y: -50})
.addIndicators({name: "Fade Scene", colorStart: "green", colorEnd: "red"})
.addTo(controller);
Здесь colorStart и colorEnd определяют
цвета линий начала и конца сцены, а name добавляет
текстовую метку для идентификации.
Метод addIndicators() поддерживает несколько опций,
которые позволяют тонко настроить отображение:
Пример с индивидуальными настройками:
scene.addIndicators({
name: "Slide Up",
colorStart: "blue",
colorEnd: "orange",
colorTrigger: "purple",
indent: 50
});
При наличии нескольких сцен важно, чтобы индикаторы не перекрывали
друг друга. Для этого используют различные значения
indent. Кроме того, индикаторы помогают визуально
сопоставить анимации с DOM-структурой, облегчая отладку сложных
последовательностей, особенно когда сцены имеют разные длительности и
триггеры.
Пример управления несколькими сценами:
var scene1 = new ScrollMagic.Scene({triggerElement: "#trigger1", duration: 200})
.setTween("#box1", {x: 100})
.addIndicators({name: "Scene 1", indent: 0})
.addTo(controller);
var scene2 = new ScrollMagic.Scene({triggerElement: "#trigger2", duration: 400})
.setTween("#box2", {y: 200})
.addIndicators({name: "Scene 2", indent: 20})
.addTo(controller);
Индикаторы автоматически обновляются при изменении размеров окна браузера и скролла страницы. При изменении DOM или анимаций иногда требуется принудительно обновить контроллер, чтобы индикаторы отразили новые позиции:
controller.update(true);
Этот метод пересчитывает положение всех сцен и корректно отображает индикаторы.
При использовании TimelineMax / GSAP визуальные индикаторы позволяют:
offset на триггерные точки.Пример сцены с Timeline:
var tl = new TimelineMax();
tl.to("#box", 1, {x: 100})
.to("#box", 1, {y: 50});
var scene = new ScrollMagic.Scene({
triggerElement: "#trigger",
duration: 400
})
.setTween(tl)
.addIndicators({name: "Timeline Scene"})
.addTo(controller);
Индикаторы помогут точно увидеть, где начинается и заканчивается каждый этап анимации.
addIndicators() на этапе разработки каждой
сцены.indent для предотвращения наложения текста и
линий индикаторов.Визуальная отладка в ScrollMagic превращает абстрактные значения
triggerHook, duration и offset в
наглядные элементы, значительно ускоряя процесс разработки и устранения
ошибок.