gsap.utils.toArray является удобным инструментом
библиотеки GSAP для преобразования селекторов и коллекций элементов в
массивы, с которыми проще работать при анимации. Этот метод помогает
унифицировать работу с одиночными элементами, NodeList, HTMLCollection и
строковыми CSS-селекторами, гарантируя, что результат всегда будет
массивом.
gsap.utils.toArray(target)
Параметры:
target — строка CSS-селектора, одиночный DOM-элемент
или коллекция элементов (NodeList, HTMLCollection, массив).Возвращаемое значение:
Array), готовый к перебору,
применению анимаций или другим манипуляциям.Преобразование строки селектора в массив:
const items = gsap.utils.toArray(".box");
// Если на странице несколько элементов с классом .box,
// то items будет массивом этих элементов
items.forEach(item => {
gsap.to(item, { x: 100, duration: 1 });
});
Работа с одиночным элементом:
const container = document.querySelector("#container");
const elements = gsap.utils.toArray(container);
// Даже если передан один элемент, возвращается массив из одного элемента
gsap.to(elements, { opacity: 0, duration: 0.5 });
Объединение нескольких коллекций и элементов:
const listItems = gsap.utils.toArray("li");
const specialItems = gsap.utils.toArray(document.querySelectorAll(".special"));
const allItems = [...listItems, ...specialItems];
gsap.to(allItems, { scale: 1.2, duration: 0.7 });
toArrayforEach, map, filter и другие
функции массива.toArray не возвращал пустой
массив.gsap.timeline позволяет создавать
сложные анимации для массивов элементов без ручной организации
коллекций.toArray отлично сочетается с другими утилитами GSAP:
gsap.timeline() Можно передавать
массив элементов напрямую в методы to, from,
fromTo, упрощая последовательные анимации.
Функции с индексами: Применяя
forEach к массиву, полученному из toArray,
можно использовать индекс элемента для создания эффектов
последовательного смещения или задержки:
const boxes = gsap.utils.toArray(".box");
boxes.forEach((box, i) => {
gsap.to(box, { y: 50, duration: 0.5, delay: i * 0.2 });
});
toArray, чтобы захватить новые элементы и добавить
анимацию.null или
несуществующий CSS-класс) вернет пустой массив, что не вызывает ошибки,
но анимации не будут применены.gsap.utils.toArray — это базовый инструмент для работы с
множеством элементов одновременно. Его использование повышает читаемость
кода, упрощает циклические анимации и интегрируется с таймлайнами GSAP
для создания сложных последовательностей. Этот метод является
фундаментальной практикой при анимации списков, сеток или коллекций
элементов в современных веб-проектах.