Метод closeAll() является встроенным инструментом
библиотеки Noty, предназначенным для массового закрытия
всех активных уведомлений на странице. Этот метод особенно полезен при
управлении множественными уведомлениями, предотвращении их наложения и
обеспечении аккуратного интерфейса пользователя.
Noty.closeAll([animation]);
Параметры:
animation (необязательный, boolean) –
указывает, нужно ли использовать анимацию при закрытии уведомлений.
true – уведомления закроются с анимацией (по
умолчанию).false – уведомления исчезнут мгновенно без
анимации.Метод является статическим, то есть вызывается напрямую через объект
Noty, а не через экземпляр уведомления.
// Создание нескольких уведомлений
new Noty({ text: 'Первое уведомление', type: 'alert', timeout: 5000 }).show();
new Noty({ text: 'Второе уведомление', type: 'success', timeout: 5000 }).show();
new Noty({ text: 'Третье уведомление', type: 'error', timeout: 5000 }).show();
// Закрытие всех уведомлений через 3 секунды
setTimeout(() => {
Noty.closeAll();
}, 3000);
В этом примере через 3 секунды после появления уведомлений все они будут закрыты автоматически с использованием стандартной анимации.
animation// Закрытие всех уведомлений без анимации
Noty.closeAll(false);
Передача значения false позволяет мгновенно удалить
уведомления из DOM, что может быть полезно при динамическом обновлении
контента или при необходимости очистки интерфейса без визуальных
задержек.
Метод closeAll() закрывает все типы
уведомлений, включая:
alertsuccesswarningerrorinformationНе требуется дополнительная фильтрация по типу. В случае
необходимости закрыть уведомления определённого типа, рекомендуется
хранить ссылки на конкретные экземпляры и вызывать close()
индивидуально для каждого.
queue и layoutБиблиотека Noty поддерживает управление уведомлениями через
очередь и различные layout-позиции
(topRight, topLeft, bottomRight,
bottomLeft, center).
Метод closeAll() закрывает уведомления независимо от их
позиции или состояния очереди:
new Noty({ text: 'Сверху справа', layout: 'topRight', type: 'success' }).show();
new Noty({ text: 'Снизу слева', layout: 'bottomLeft', type: 'warning' }).show();
// Закрываем все уведомления, независимо от layout
Noty.closeAll();
Даже если уведомления находятся в разных позициях, метод гарантирует полное их закрытие.
При вызове Noty.closeAll() автоматически срабатывают
callback-функции onClose каждого
уведомления. Это важно учитывать при программной обработке событий:
new Noty({
text: 'Закроется автоматически',
type: 'alert',
timeout: false,
callbacks: {
onClose: function() {
console.log('Уведомление закрыто');
}
}
}).show();
Noty.closeAll();
В консоли будет выведено сообщение для каждого закрытого уведомления.
Очистка уведомлений перед загрузкой нового контента Перед показом модальных окон или динамических компонентов можно удалить старые уведомления, чтобы не создавать визуальный шум.
Массовое закрытие при смене страниц или состояний SPA В одностраничных приложениях часто возникает необходимость скрыть все старые уведомления при переходе на новый раздел.
Программная остановка всех уведомлений Например, при завершении фонового процесса или по нажатию кнопки «Закрыть всё» пользователем.
closeAll() срабатывает на
все уведомления, поэтому если требуется частичное
закрытие, лучше управлять экземплярами напрямую через
close().false для мгновенного закрытия
полезно при динамических интерфейсах, где анимация может мешать
пользователю.show(),
setTimeout() и callback-функциями для полной гибкости
управления уведомлениями.Метод closeAll() обеспечивает простое и эффективное
управление уведомлениями в Noty, позволяя гарантированно очищать
интерфейс независимо от их количества, типа и расположения.