Библиотека iziToast предоставляет мощный инструмент для создания уведомлений на веб-страницах, а её гибкость позволяет подключать сторонние анимации для более выразительного визуального эффекта. Одним из популярных решений является использование Animate.css — готовой библиотеки CSS-анимаций, которая облегчает добавление плавных эффектов появления и скрытия уведомлений.
Для начала необходимо подключить стили Animate.css к проекту. Это можно сделать через CDN:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
После этого анимации будут доступны для использования в любых HTML-элементах и уведомлениях iziToast.
iziToast поддерживает свойства animateInside,
transitionIn и transitionOut, которые
позволяют задавать классы анимаций для появления и закрытия уведомлений.
При интеграции с Animate.css удобно использовать уже готовые классы,
такие как animate__fadeInDown,
animate__fadeOutUp, animate__bounceIn,
animate__zoomOut.
Пример базового уведомления с кастомными анимациями:
iziToast.show({
title: 'Успешно!',
message: 'Данные сохранены.',
theme: 'light',
position: 'topRight',
transitionIn: 'animate__animated animate__fadeInDown',
transitionOut: 'animate__animated animate__fadeOutUp',
timeout: 5000
});
Пояснения:
animate__animated — обязательный класс, который
активирует Animate.css анимацию.animate__fadeInDown — эффект появления сверху
вниз.animate__fadeOutUp — эффект скрытия вверх.timeout определяет длительность показа
уведомления.Можно комбинировать несколько классов Animate.css, чтобы получить уникальный эффект. Например, появление с масштабированием и вращением:
iziToast.show({
title: 'Внимание!',
message: 'Произошла ошибка.',
position: 'bottomLeft',
transitionIn: 'animate__animated animate__zoomIn animate__rotateIn',
transitionOut: 'animate__animated animate__zoomOut animate__rotateOut',
timeout: 7000
});
Такой подход позволяет создавать динамичные и визуально привлекательные уведомления без дополнительного написания CSS.
Для разных типов сообщений (успех, ошибка, предупреждение, информация) можно задавать разные анимации:
iziToast.success({
title: 'Готово',
message: 'Операция выполнена успешно',
transitionIn: 'animate__animated animate__bounceIn',
transitionOut: 'animate__animated animate__bounceOut'
});
iziToast.error({
title: 'Ошибка',
message: 'Невозможно выполнить запрос',
transitionIn: 'animate__animated animate__shakeX',
transitionOut: 'animate__animated animate__fadeOut'
});
Такое разделение усиливает визуальное восприятие типов уведомлений и делает интерфейс более интуитивным.
Для более тонкой настройки можно использовать события iziToast:
onOpening и onClosing. Это позволяет применять
анимации с задержкой, изменять длительность, запускать дополнительные
эффекты или взаимодействовать с DOM.
iziToast.show({
title: 'Информация',
message: 'Подключение успешно',
position: 'topRight',
onOpening: function(instance, toast){
toast.classList.add('animate__animated', 'animate__fadeInRight');
},
onClosing: function(instance, toast, closedBy){
toast.classList.add('animate__animated', 'animate__fadeOutRight');
}
});
Такой способ даёт полный контроль над моментом запуска анимаций и их последовательностью.
fadeIn/fadeOut, чтобы сохранить
читаемость.Совместное использование iziToast и
Animate.css позволяет создавать уведомления с
выразительными, легко настраиваемыми анимациями. Управление через
transitionIn, transitionOut и события
onOpening/onClosing открывает широкие
возможности для кастомизации внешнего вида и поведения уведомлений,
делая интерфейс интерактивным и современным.