Noty — это легковесная библиотека для создания уведомлений в браузере на JavaScript. Она предоставляет удобный API для генерации сообщений различного типа с гибкими настройками визуального отображения и поведения.
Ключевые параметры уведомлений:
alert,
success, warning, error,
information. Определяет цветовую схему и иконку.top,
topLeft, topCenter, topRight,
center, centerLeft, centerRight,
bottom, bottomLeft, bottomCenter,
bottomRight.relax,
mint, metroui, sunset и
другие.true/false).Пример создания базового уведомления:
new Noty({
text: 'Операция выполнена успешно',
type: 'success',
layout: 'topRight',
theme: 'metroui',
timeout: 3000,
progressBar: true
}).show();
Noty поддерживает детальное управление позиционированием уведомлений. Основные позиции на верхней части экрана:
Позиция задается через параметр layout при создании
уведомления. Для управления несколькими уведомлениями на одной позиции
можно использовать queue и maxVisible.
new Noty({
text: 'Предупреждение о заполнении формы',
type: 'warning',
layout: 'topCenter',
theme: 'sunset',
timeout: 5000
}).show();
Каждый тип уведомления имеет стандартные цветовые схемы:
Тип задается через параметр type. Можно комбинировать
его с кастомными стилями через theme или собственные
CSS-классы.
Noty позволяет добавлять кнопки в уведомления для интерактивного
взаимодействия. Параметр buttons принимает массив объектов
с text, onClick и addClass.
new Noty({
text: 'Сохранить изменения?',
type: 'alert',
layout: 'topRight',
theme: 'mint',
timeout: false,
buttons: [
Noty.button('Да', 'btn btn-success', function () {
console.log('Изменения сохранены');
}),
Noty.button('Нет', 'btn btn-error', function () {
this.close();
})
]
}).show();
Также можно использовать события жизненного цикла уведомлений:
onShow — срабатывает при показе уведомления.onClose — при закрытии.afterShow — после анимации показа.afterClose — после завершения анимации закрытия.Пример использования событий:
new Noty({
text: 'Загрузка данных завершена',
type: 'information',
layout: 'topLeft',
theme: 'relax',
timeout: 3000,
callbacks: {
onShow: function() {
console.log('Уведомление показано');
},
onClose: function() {
console.log('Уведомление закрыто');
}
}
}).show();
Для контроля количества уведомлений на экране можно использовать:
new Noty({
text: 'Новое уведомление',
type: 'success',
layout: 'topRight',
theme: 'metroui',
killer: true
}).show();
Noty предоставляет встроенные анимации появления и скрытия уведомлений, управляемые через CSS в выбранной теме. Популярные темы:
Анимации можно менять через CSS или подключать дополнительные классы, добавляя динамику к уведомлениям.
Noty позволяет задавать глобальные параметры через
Noty.overrideDefaults({}). Это удобно, если нужно
единообразно настроить стиль, расположение и поведение всех
уведомлений.
Noty.overrideDefaults({
layout: 'topRight',
theme: 'mint',
timeout: 4000,
progressBar: true
});
После этого все создаваемые уведомления будут использовать указанные параметры по умолчанию.
Библиотека Noty сочетает простоту использования с гибкими возможностями кастомизации. Управление типами уведомлений, верхними позициями на экране, событиями и интерактивными кнопками позволяет создавать полноценные, удобные и визуально привлекательные уведомления для веб-приложений.