JS властивість CSSStyleDeclaration.animationFillMode


Загальний опис

animationFillMode - це властивість JavaScript, що дозволяє встановити або отримати значення CSS-властивості animation-fill-mode для вказаного елемента. Вона визначає, як застосовується стиль анімації CSS до елемента за межами проміжку часу, заданого властивістю animation-duration або animation-iteration-count.

Ця властивість може приймати рядкові значення: none, forwards, backwards або both. Значення none вказує, що стилі анімації не застосовуються до елемента за межами тривалості анімації. forwards зберігає стиль останнього кадру анімації після її завершення. backwards застосовує стиль першого кадру анімації до елемента перед початком анімації. both поєднує ефекти forwards та backwards.

Ось приклад використання animationFillMode в JavaScript:

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

// Встановлення значення властивості
element.style.animationFillMode = 'forwards';

// Отримання значення властивості
const fillMode = element.style.animationFillMode;

Зверніть увагу, що animationFillMode впливає лише на інлайновий стиль елемента. Для встановлення цієї властивості через CSS-правила необхідно використовувати відповідну CSS-властивість animation-fill-mode.

Властивість animationFillMode корисна для контролю стану анімованого елемента до початку та після завершення анімації, що дозволяє створювати плавні переходи та циклічні анімації. Однак вона не впливає на анімацію під час її перебігу в проміжку часу, заданому властивістю animation-duration.

автор: Bond

Порада

Якщо потрібно, щоб елемент залишався у стані, визначеному останнім ключовим кадром анімації після її завершення, встановіть element.style.animationFillMode = forwards.

автор: Bond
Порада

Значення backwards дозволяє візуалізувати початковий стан анімації до її запуску, що може бути корисним для налаштування та дебагу.

автор: Bond
Порада

Встановіть element.style.animationFillMode = 'both', щоб застосувати стилі першого ключового кадру до початку анімації, а стилі останнього – після її завершення, забезпечуючи плавний перехід між станами.

автор: Bond

Синтаксис

element.style.animationFillMode

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 3 8 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використовуємо animationFillMode для збереження стану анімованого елемента після завершення анімації. Це корисно, коли потрібно, щоб елемент залишався в кінцевому стані анімації, а не повертався до початкового стану.

HTML

<div class="element">Блок</div>

CSS

.element {
    width: 140px;
    padding: 10px;
    background: #0172ad;
    color: #fff;
}

@keyframes slide {
    from { transform: translateX(-100%); }
    to   { transform: translateX(0); }
}

.animate {
    animation: slide 1s;
}

JS

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

// forwards: після завершення елемент лишається в кінцевому кадрі
element.style.animationFillMode = 'forwards';

element.classList.add('animate');
автор: Bond

У цьому прикладі ми створюємо циклічну анімацію з використанням element.style.animationFillMode = 'both'. Це дозволяє плавно переходити від кінцевого стану однієї ітерації анімації до початкового стану наступної ітерації.

HTML

<div class="element">Блок</div>

CSS

.element {
    width: 140px;
    padding: 10px;
    background: #d81b60;
    color: #fff;
}

@keyframes pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.animate {
    animation: pulse 1s infinite;
}

JS

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

element.style.animationFillMode = 'both';
element.style.animationIterationCount = 'infinite';

element.classList.add('animate');
автор: Bond

У цьому прикладі користувач може вибрати режим animation-fill-mode через випадаюче меню та побачити, як це впливає на поведінку анімації. Наприклад, при виборі forwards елемент залишиться у кінцевому стані анімації, а при виборі backwards — застосуються початкові стилі анімації до її фактичного початку. Це надає можливість краще зрозуміти, як animation-fill-mode впливає на елемент до і після анімації.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід