iziToast — это легковесная JavaScript-библиотека для
отображения уведомлений на веб-страницах. Она предоставляет гибкий и
настраиваемый механизм показа всплывающих сообщений, которые могут
автоматически исчезать через заданное время или оставаться на экране до
действия пользователя. Уведомления поддерживают различные типы: успех
(success), ошибка (error), предупреждение
(warning), информация (info) и
пользовательские стили.
Основные характеристики:
onOpening, onOpened, onClosing,
onClosed для контроля поведения уведомлений.Для работы с iziToast необходимо подключить CSS и JS файлы библиотеки. Наиболее распространённые способы:
После подключения файлов библиотека становится доступной через
глобальный объект iziToast.
Минимальный пример уведомления:
iziToast.show({
title: 'Привет',
message: 'Это простое уведомление'
});
Пояснения:
title — заголовок уведомления.message — основной текст сообщения.Можно также использовать специализированные методы для разных типов уведомлений:
iziToast.success({
title: 'Успех',
message: 'Операция выполнена успешно'
});
iziToast.error({
title: 'Ошибка',
message: 'Произошла ошибка при выполнении операции'
});
iziToast.warning({
title: 'Внимание',
message: 'Проверьте введённые данные'
});
iziToast.info({
title: 'Информация',
message: 'Это информационное сообщение'
});
iziToast позволяет изменять позицию сообщений на экране через
параметр position. Возможные значения:
topRighttopLefttopCenterbottomRightbottomLeftbottomCenterПример:
iziToast.info({
title: 'Информация',
message: 'Уведомление в левом верхнем углу',
position: 'topLeft'
});
Библиотека позволяет настраивать цвета, размеры и иконки уведомлений:
iziToast.show({
title: 'Кастомное уведомление',
message: 'Цвет и иконка изменены',
color: 'purple', // Цвет фона
icon: 'fa fa-star', // Использование иконок FontAwesome
timeout: 5000, // Время показа в миллисекундах
progressBar: true // Показывать индикатор времени
});
Параметр timeout управляет временем автоматического
закрытия уведомления. Установка timeout: false делает
уведомление постоянным до закрытия пользователем.
iziToast поддерживает несколько типов анимаций:
iziToast.show({
title: 'Анимация',
message: 'Пример анимации',
transitionIn: 'fadeInUp', // Анимация появления
transitionOut: 'fadeOutDown' // Анимация закрытия
});
Список основных анимаций:
fadeIn, fadeOutfadeInUp, fadeOutUpfadeInDown, fadeOutDownflipInX, flipOutXСобытия позволяют управлять поведением уведомлений на всех этапах жизненного цикла:
iziToast.show({
title: 'События',
message: 'Отслеживание открытия и закрытия',
onOpening: function(instance, toast){
console.log('Уведомление открывается');
},
onOpened: function(instance, toast){
console.log('Уведомление открыто');
},
onClosing: function(instance, toast, closedBy){
console.log('Уведомление закрывается', closedBy);
},
onClosed: function(instance, toast, closedBy){
console.log('Уведомление закрыто', closedBy);
}
});
Параметр closedBy возвращает причину закрытия:
timeout, button, overlay или
method.
iziToast автоматически управляет несколькими уведомлениями и располагает их с отступами. Можно задавать максимальное количество видимых уведомлений:
iziToast.settings({
maxOpened: 3,
resetOnHover: true
});
Параметр resetOnHover позволяет сбрасывать таймер
автоматического закрытия при наведении мыши на уведомление.
iziToast поддерживает добавление кнопок внутри уведомлений:
iziToast.show({
title: 'Действие',
message: 'Нажмите кнопку для действия',
buttons: [
['', function (instance, toast) {
console.log('Нажата кнопка Принять');
instance.hide({transitionOut: 'fadeOut'}, toast);
}],
['', function (instance, toast) {
console.log('Нажата кнопка Отклонить');
instance.hide({transitionOut: 'fadeOut'}, toast);
}]
]
});
iziToast позволяет создавать собственные темы с предустановленными стилями:
iziToast.settings({
theme: 'dark', // Поддерживаются 'light' и 'dark'
titleColor: '#FFD700',
messageColor: '#FFFFFF',
iconColor: '#FFD700'
});
Можно задавать индивидуальные стили через CSS для класса
.iziToast.
iziToast легко использовать в сочетании с React, Vue или Angular. Для
React можно обернуть вызовы iziToast в сервис или хук, для Vue — в
глобальный метод через provide/inject или плагин.