В библиотеке Noty параметр killer
используется для управления поведением уведомлений при одновременном
появлении нескольких нотификаций. Его основная задача — предотвратить
визуальный хаос и обеспечить более аккуратное отображение сообщений на
странице.
killer определяет, будут ли существующие уведомления
удалены при показе нового. Если его значение установлено в
true, то при вызове новой нотификации все предыдущие
исчезают. Это особенно полезно в сценариях, когда важно, чтобы
пользователь видел только актуальное сообщение, без накопления
устаревших уведомлений.
new Noty({
text: 'Новое уведомление',
type: 'success',
killer: true,
timeout: 3000
}).show();
text — текст уведомления.type — тип сообщения (alert,
success, warning, error,
info).killer — логическое значение (true или
false).timeout — время отображения в миллисекундах.killer: false (по умолчанию) Каждое
новое уведомление добавляется поверх предыдущих, создавая «стопку»
сообщений. Старые уведомления остаются видимыми до тех пор, пока не
истечет их timeout или пользователь их не закроет
вручную.
killer: true Все существующие
уведомления мгновенно закрываются, а на их месте появляется новое. При
этом закрытие старых уведомлений происходит с использованием стандартной
анимации, если она настроена. Это позволяет поддерживать интерфейс
чистым и предотвращает накопление большого числа всплывающих
сообщений.
Комбинация с timeout Если
killer: true и указано время timeout, новая
нотификация заменит предыдущие, но сама она будет видна столько, сколько
указано в timeout.
Анимации закрытия При включенном
killer старые уведомления не исчезают мгновенно без
анимации, если в настройках Noty активированы анимации
animation.open и animation.close.
Глобальные и локальные уведомления Параметр
killer работает как на уровне отдельных уведомлений, так и
на уровне глобальной конфигурации библиотеки через
Noty.overrideDefaults. Это позволяет задавать поведение по
умолчанию для всех уведомлений на проекте.
Noty.overrideDefaults({
killer: true,
timeout: 4000
});
killer не указан при создании конкретной
нотификации.killer: true предотвращает накопление множества уведомлений
об ошибке.new Noty({
text: 'Ошибка отправки формы!',
type: 'error',
killer: true,
timeout: 5000
}).show();
killer позволяет
показывать только актуальную информацию.function showSystemStatus(message) {
new Noty({
text: message,
type: 'info',
killer: true,
timeout: 3000
}).show();
}
killer пользователь может закрыть уведомление
вручную, что не повлияет на последующие сообщения. Новое уведомление все
равно закроет предыдущие автоматически.killer: true уменьшает визуальный шум и позволяет
сосредоточиться на последнем сообщении.killer: false, чтобы сохранить
историю.modal или layout, чтобы
контролировать одновременное отображение уведомлений в разных областях
экрана.Использование killer делает интерфейс более управляемым
и предотвращает перегрузку визуального пространства, особенно при
интенсивном взаимодействии пользователя с веб-приложением.