Метод setTheme() используется для динамического
изменения темы уведомлений, создаваемых библиотекой Noty в JavaScript.
Он позволяет изменить внешний вид уведомлений без необходимости
пересоздавать объект Noty или перегружать страницу, что особенно полезно
для приложений с поддержкой темной и светлой схемы интерфейса, а также
при адаптации к пользовательским настройкам.
notyInstance.setTheme(themeName);
notyInstance — объект уведомления Noty, созданный с
помощью конструктора new Noty(options).themeName — строка, задающая название темы. Доступные
темы определяются либо стандартными стилями библиотеки, либо кастомными
CSS, подключёнными в проект.Динамическая смена темы Метод позволяет изменять тему уже существующего уведомления до его отображения или во время отображения. Это полезно, если необходимо синхронизировать уведомления с текущей темой интерфейса пользователя.
Поддержка кастомных тем Любая тема, подключённая
через CSS и зарегистрированная в Noty, может быть использована с
setTheme(). Например, при добавлении кастомной темы
"custom-dark" достаточно передать её название методу:
const n = new Noty({
text: 'Уведомление с кастомной темой',
type: 'alert'
}).show();
n.setTheme('custom-dark');Влияние на стили уведомления После вызова
setTheme(), библиотека автоматически меняет CSS-классы
уведомления. Старые классы темы удаляются, а новые добавляются. Это
позволяет менять цвет, тень, анимации и другие визуальные параметры без
ручного вмешательства.
// Создание уведомления с начальной темой 'mint'
const n = new Noty({
text: 'Пример уведомления',
type: 'success',
theme: 'mint',
timeout: 3000
}).show();
// Через 1 секунду сменить тему на 'sunset'
setTimeout(() => {
n.setTheme('sunset');
}, 1000);
В этом примере уведомление сначала отображается с темой
mint, а затем через одну секунду плавно меняет внешний вид
на sunset, сохраняя все остальные параметры.
show() и close() Метод
setTheme() можно вызывать как до отображения уведомления
(show()), так и после. Изменение темы не влияет на
возможность закрытия уведомления через close().
setType() и setText()
Совместно с методами изменения типа уведомления или текста,
setTheme() позволяет создавать динамические уведомления,
адаптирующиеся к различным событиям интерфейса.
Стандартные темы Noty поставляется с набором
стандартных тем: mint, relax,
sunset, metroui. Для использования достаточно
подключить соответствующий CSS-файл.
Кастомные темы Создание кастомной темы требует:
.noty_theme_имя_темы)setTheme() или опцию
theme при создании уведомления..noty_theme_custom-dark {
background-color: #2e2e2e;
color: #ffffff;
border-radius: 5px;
box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
new Noty().setTheme().setTheme() для синхронизации уведомлений с
системной или пользовательской темой интерфейса.setType() и
setText() для создания полноценных динамических
уведомлений, адаптирующихся к контексту события.Метод setTheme() обеспечивает гибкую и удобную
кастомизацию внешнего вида уведомлений, делая библиотеку Noty
универсальным инструментом для создания визуально согласованных
интерфейсов.