TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #2847 587
Web Animations API (WAAPI)

Обычно анимации на сайте делают двумя путями: либо пишут @keyframes в CSS (отлично для простых вещей), либо подключают тяжелые JS-библиотеки вроде GSAP / Anime.js (когда нужен сложный контроль, паузы, реверс или динамические значения).
Но мало кто помнит про Web Animations API (WAAPI) – нативный браузерный движок, который объединяет силу JS-управления и производительность CSS (анимации выполняются на уровне композитного слоя GPU).
простой пример: анимируем появление элемента по клику

const box = document.querySelector('.box');

document.querySelector('.btn').addEventListener('click', () => {
// Вызываем нативный метод .animate()
box.animate(
// 1. Описываем ключевые кадры (как в @keyframes)
[
{ transform: 'scale(0.5)', opacity: 0 },
{ transform: 'scale(1.2)', opacity: 0.8, offset: 0.8 }, // offset — это аналог 80% в CSS
{ transform: 'scale(1)', opacity: 1 }
],
// 2. Настройки тайминга
{
duration: 500, // Длительность в мс
easing: 'ease-out', // Функция плавности
fill: 'forwards' // Сохранить состояние после окончания
}
);
});


Почему это круче, чем просто вешать CSS-классы?
Потому что метод .animate() возвращает объект анимации, которым можно полностью управлять из JS кода:

const myAnimation = box.animate([...], {...});

myAnimation.pause(); // Поставить на паузу
myAnimation.play(); // Запустить снова
myAnimation.reverse(); // Проиграть в обратную сторону
myAnimation.playbackRate = 2; // Ускорить анимацию в 2 раза

// И даже отловить окончание через Промисы!
myAnimation.finished.then(() => {
console.log('Анимация успешно завершилась, можно удалить элемент из DOM!');
});


#полезнастатья
  • ❤ 4
  • 👍 4
More from @free_html_lessons
  1. Oct 4, 2026Post #3074
  2. Oct 4, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Применение р…
  3. Oct 3, 2026Мета теги Apple Они помогают улучшить отображение сайта в браузере Safari, настройку работ…
  4. Oct 2, 2026Микрофронтенды Читать 👨‍💻 #полезнаястатья
  5. Oct 1, 2026Макет для тренировки (skeyndor) Перейти к макету 🧑‍💻 #макет@free_html_lessons
  6. Sep 30, 2026Post #3067
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →