Библиотека iziToast предоставляет гибкий механизм для отображения уведомлений в веб-приложениях, включая управление их временем жизни и способами скрытия. Управление скрытием уведомлений является важным аспектом UX, так как правильное поведение тостов позволяет пользователю не отвлекаться и поддерживает визуальную чистоту интерфейса.
Каждое уведомление в iziToast может автоматически исчезать через
определённое время, задаваемое параметром timeout. Значение
timeout указывается в миллисекундах.
Пример использования:
iziToast.show({
title: 'Успех',
message: 'Данные сохранены',
timeout: 3000 // уведомление исчезнет через 3 секунды
});
Особенности:
timeout: false отключает автоматическое
скрытие.timeout не указан, используется значение по
умолчанию (5000 мс).transitionIn и
transitionOut.Уведомления можно закрывать программно через методы iziToast:
iziToast.hide() – скрывает конкретное
уведомление. Пример:let toast = iziToast.show({
title: 'Информация',
message: 'Процесс начался',
timeout: false,
id: 'custom-toast'
});
// Позднее скрытие уведомления по ID
iziToast.hide({}, document.getElementById('custom-toast'));
Параметры метода hide:
id – идентификатор уведомления.transitionOut – тип анимации при скрытии
(fadeOut, slideOutUp,
bounceOutRight и др.).onClosed – функция обратного вызова после скрытия.iziToast.destroy() – удаляет все
уведомления сразу, очищая очередь. Полезно при смене состояния
приложения или при необходимости мгновенной очистки интерфейса.iziToast.destroy();
iziToast поддерживает скрытие уведомлений по действиям пользователя:
onclick.iziToast.show({
title: 'Предупреждение',
message: 'Нажмите, чтобы закрыть',
timeout: false,
onClick: function(instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast);
}
});
iziToast.show({
title: 'Внимание',
message: 'Подтвердите действие',
buttons: [
['<button>Закрыть</button>', function (instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast);
}]
]
});
Уведомления могут приостанавливать автоматическое скрытие, если
пользователь навёл на них курсор. Используется параметр
pauseOnHover.
iziToast.show({
title: 'Событие',
message: 'Наведи мышь для задержки',
timeout: 4000,
pauseOnHover: true
});
Механизм работы:
timeout.iziToast поддерживает очередь уведомлений. Скрытие одного уведомления может автоматически показать следующий в очереди. Параметры управления:
maxOpened – максимальное количество одновременно
видимых уведомлений.resetOnHover – сброс таймера при наведении.stack – вертикальное расположение тостов при множестве
уведомлений.iziToast.show({
title: 'Очередь уведомлений',
message: 'Пример управления stack',
timeout: 2000,
position: 'topRight'
});
Типы анимаций управляются параметром transitionOut.
Доступны следующие варианты:
fadeOut – плавное исчезновение.fadeOutUp, fadeOutDown – исчезновение с
движением вверх или вниз.slideOutLeft, slideOutRight – сдвиг влево
или вправо.bounceOutLeft, bounceOutRight –
анимированное «отскакивание».iziToast.show({
title: 'Анимация',
message: 'Проверка анимации скрытия',
timeout: 3000,
transitionOut: 'slideOutRight'
});
Для управления логикой приложения можно использовать колбэки:
onClosing – вызывается при начале
скрытия уведомления.onClosed – вызывается после полного
исчезновения уведомления.iziToast.show({
title: 'Событие закрытия',
message: 'Обработка после скрытия',
timeout: 2000,
onClosing: function(instance, toast, closedBy){
console.log('Начало закрытия уведомления', closedBy);
},
onClosed: function(instance, toast, closedBy){
console.log('Уведомление закрыто', closedBy);
}
});
Параметр closedBy указывает причину скрытия:
'timeout', 'click', 'button',
'overlay' или 'manual'.
timeout и
pauseOnHover.hide() или
destroy().onclick, кнопки).transitionOut.onClosing и onClosed позволяют
интегрировать уведомления в логику приложения.Эффективное использование этих возможностей обеспечивает гибкое и предсказуемое поведение уведомлений в интерфейсе.