Noty.setMaxVisible() — это статический метод библиотеки
Noty, который позволяет задавать максимальное количество уведомлений,
одновременно отображаемых на экране. Этот инструмент особенно полезен
для контроля интерфейса при высоком потоке уведомлений, предотвращения
их наложения и перегрузки визуального пространства.
Noty.setMaxVisible(max);
Параметры:
max — число, определяющее максимальное количество
видимых уведомлений. Тип: integer.
0, ограничение снимается, и все
уведомления будут показываться без ограничений.Возвращаемое значение: Метод ничего не возвращает
(undefined).
// Ограничиваем количество уведомлений до 3
Noty.setMaxVisible(3);
// Создание уведомлений
new Noty({
text: 'Уведомление 1',
type: 'alert',
timeout: 3000
}).show();
new Noty({
text: 'Уведомление 2',
type: 'success',
timeout: 3000
}).show();
new Noty({
text: 'Уведомление 3',
type: 'warning',
timeout: 3000
}).show();
new Noty({
text: 'Уведомление 4',
type: 'error',
timeout: 3000
}).show();
В этом примере, несмотря на создание четырёх уведомлений, на экране одновременно будет отображаться только три последних. Четвёртое появится только после исчезновения одного из предыдущих уведомлений.
Noty.setMaxVisible() действует
глобально, независимо от того, где создаются
уведомления. Локальные настройки уведомлений (например,
timeout, layout, theme) не влияют
на ограничение видимых уведомлений. Это позволяет централизованно
управлять визуальной загруженностью интерфейса.
Noty.setMaxVisible(2);
new Noty({
text: 'Локальное уведомление',
type: 'info',
layout: 'bottomRight',
theme: 'sunset',
timeout: 4000
}).show();
Даже если локальное уведомление настроено по-своему, глобальное
ограничение maxVisible применится, и оно будет показано
только если в данный момент отображается меньше двух уведомлений.
Noty.setMaxVisible() может вызываться в любой момент
выполнения скрипта, что позволяет динамически регулировать максимальное
количество видимых уведомлений в зависимости от состояния
приложения.
// Изначально ограничение до 2 уведомлений
Noty.setMaxVisible(2);
// Позже увеличиваем лимит до 5
setTimeout(() => {
Noty.setMaxVisible(5);
}, 5000);
При изменении лимита новые уведомления будут отображаться согласно
обновленному значению maxVisible.
layout). Например, уведомления в
topRight и bottomLeft суммируются при подсчете
количества видимых уведомлений.Noty.setMaxVisible() с опцией queue в
настройках уведомлений, чтобы новые уведомления не исчезали
бесконтрольно.noty.close() — закрывает конкретное уведомление,
освобождая место для нового при достижении лимита.Noty.closeAll() — закрывает все уведомления независимо
от maxVisible.Noty.overrideDefaults() — изменение глобальных
параметров уведомлений работает вместе с
setMaxVisible().Эти методы позволяют создавать гибкую систему управления
уведомлениями, где Noty.setMaxVisible() обеспечивает
контроль видимой части потока событий, а другие инструменты — управление
поведением отдельных уведомлений.