Библиотека Noty предоставляет гибкую систему уведомлений для веб-приложений, позволяя создавать всплывающие сообщения с минимальной настройкой. Одним из ключевых аспектов управления уведомлениями является контроль количества одновременных уведомлений, отображаемых на странице.
maxVisibleДля ограничения числа одновременно отображаемых уведомлений
используется опция maxVisible. Этот параметр принимает
числовое значение и определяет, сколько уведомлений может быть видно
пользователю в один момент времени.
new Noty({
text: 'Пример уведомления',
type: 'alert',
maxVisible: 3, // максимум 3 уведомления одновременно
timeout: 3000,
layout: 'topRight'
}).show();
Ключевые моменты работы maxVisible:
maxVisible,
они ставятся в очередь и отображаются только после
закрытия или завершения времени показа предыдущих уведомлений.0 или undefined трактуется как
отсутствие ограничений: уведомления будут появляться все сразу.layout. Для
разных областей страницы (topRight, bottomLeft
и т.д.) можно задавать свои максимумы через создание отдельных
экземпляров Noty.Когда количество уведомлений достигает лимита
maxVisible, библиотека Noty помещает последующие
уведомления в внутреннюю очередь. Они автоматически
появятся на экране в порядке добавления после того, как текущие
уведомления исчезнут.
const notyQueue = [
new Noty({ text: 'Первое', maxVisible: 2 }).show(),
new Noty({ text: 'Второе', maxVisible: 2 }).show(),
new Noty({ text: 'Третье', maxVisible: 2 }).show()
];
В этом примере одновременно будут видны только два уведомления, а третье появится после того, как одно из первых скроется.
Особенности управления очередью:
close(), чтобы дать место следующему уведомлению.onClose), автоматически освобождая место для новых
сообщений.Noty позволяет создавать уведомления в нескольких областях экрана с разными ограничениями:
new Noty({
text: 'Верхний правый угол',
layout: 'topRight',
maxVisible: 3
}).show();
new Noty({
text: 'Нижний левый угол',
layout: 'bottomLeft',
maxVisible: 1
}).show();
Таким образом, на одной странице можно одновременно показывать
несколько уведомлений в разных местах, не превышая заданные лимиты для
каждого layout.
maxVisibleПараметр maxVisible можно менять в процессе
работы приложения. Для этого необходимо управлять уведомлениями
через отдельный объект или массив экземпляров:
let myNoty = new Noty({ text: 'Динамический лимит', maxVisible: 2 });
myNoty.setMaxVisible(4); // изменяем лимит на лету
myNoty.show();
maxVisible следует подбирать в зависимости от
размера уведомлений и площади
интерфейса.timeout можно создавать
динамическую систему уведомлений с плавной заменой сообщений и
минимальной нагрузкой на интерфейс.Контроль количества одновременных уведомлений через
maxVisible обеспечивает упорядоченное
отображение, предотвращает визуальный хаос и позволяет гибко
настраивать пользовательский опыт.