Для использования iziToast необходимо подключить библиотеку через CDN или локальные файлы. Минимальный набор включает CSS и JS:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/izitoast/dist/css/iziToast.min.css">
<script src="https://cdn.jsdelivr.net/npm/izitoast/dist/js/iziToast.min.js"></script>
После подключения можно сразу вызывать функции библиотеки. Для работы с современными сборщиками (Webpack, Vite, Parcel) iziToast можно установить через npm:
npm install izitoast
И импортировать в коде:
import iziToast from 'izitoast';
import 'izitoast/dist/css/iziToast.min.css';
iziToast.show(options) — основной метод
для отображения уведомления. Параметры передаются в виде объекта:
title — заголовок уведомления.message — текст сообщения.position — позиция на экране (topRight,
topLeft, bottomRight, bottomLeft,
topCenter, bottomCenter).timeout — время автоматического закрытия в
миллисекундах.theme — тема уведомления (light или
dark).color — цветовая схема (green,
red, blue и другие).Пример простого уведомления:
iziToast.show({
title: 'Подписка активирована',
message: 'Вы успешно подписались на рассылку',
position: 'topRight',
timeout: 5000
});
iziToast предоставляет удобные методы для стандартных типов уведомлений:
iziToast.success(options) —
уведомление об успешной операции.iziToast.error(options) — уведомление
об ошибке.iziToast.info(options) —
информационное уведомление.iziToast.warning(options) —
предупреждение.Пример уведомления о подписке:
iziToast.success({
title: 'Успех',
message: 'Подписка на рассылку оформлена!',
position: 'topRight',
timeout: 4000
});
iziToast поддерживает добавление интерактивных кнопок с собственными
обработчиками событий через параметр buttons. Для подписки
на рассылку это может быть полезно для подтверждения действия:
iziToast.show({
title: 'Подписка',
message: 'Хотите получить рассылку?',
position: 'topRight',
buttons: [
['<button>Подтвердить</button>', function (instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
console.log('Подписка подтверждена');
}],
['<button>Отмена</button>', function (instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
console.log('Подписка отменена');
}]
]
});
Каждая кнопка задается массивом [html, callback], где
callback получает instance и объект
toast.
Параметр position определяет, где уведомление будет
появляться на экране. Возможные значения:
topRighttopLeftbottomRightbottomLefttopCenterbottomCenterУведомления автоматически адаптируются под ширину экрана. Можно
изменить максимальную ширину с помощью maxWidth:
iziToast.show({
title: 'Новость',
message: 'Подписка на рассылку активна',
position: 'topRight',
maxWidth: 400
});
Плавность появления и скрытия уведомлений задается через
transitionIn и transitionOut:
fadeIn, fadeOutslideInRight, slideOutRightbounceInLeft, bounceOutLeftВремя автоматического закрытия определяется параметром
timeout. Для уведомлений, которые не должны исчезать
автоматически, используется timeout: 0.
iziToast.show({
title: 'Подписка',
message: 'Пожалуйста, подтвердите адрес электронной почты',
position: 'topRight',
timeout: 0,
transitionIn: 'fadeInDown',
transitionOut: 'fadeOutUp'
});
iziToast позволяет отслеживать жизненный цикл уведомления через события:
onOpening — перед отображением.onOpened — после отображения.onClosing — перед скрытием.onClosed — после скрытия.Пример для подписки:
iziToast.show({
title: 'Подписка',
message: 'Вы успешно подписались',
onOpening: function() {
console.log('Уведомление открывается');
},
onClosed: function() {
console.log('Уведомление закрыто');
}
});
Для единообразного стиля уведомлений можно настроить глобальные
параметры через iziToast.settings:
iziToast.settings({
timeout: 5000,
position: 'topRight',
transitionIn: 'fadeInDown',
transitionOut: 'fadeOutUp',
theme: 'light',
color: 'blue'
});
После этого все уведомления будут использовать заданные параметры по умолчанию.
Пример обработки формы подписки с отображением iziToast:
document.querySelector('#subscribeForm').addEventListener('submit', function(e) {
e.preventDefault();
const email = this.querySelector('input[name="email"]').value;
if (email) {
iziToast.success({
title: 'Успех',
message: `Подписка для ${email} активирована`,
position: 'topRight'
});
this.reset();
} else {
iziToast.error({
title: 'Ошибка',
message: 'Введите корректный email',
position: 'topRight'
});
}
});
Такое уведомление мгновенно информирует пользователя о результате действия, повышая удобство взаимодействия с формой подписки.