Библиотека Toastify в JavaScript предоставляет удобный способ
отображения уведомлений на веб-странице с минимальными усилиями.
Основная функция для создания уведомления —
Toastify({ ...options }).showToast();. Эта функция
принимает объект конфигурации, который определяет поведение и внешний
вид уведомления.
Параметры объекта конфигурации:
escape: false.-1,
уведомление будет отображаться до закрытия вручную.true) или в текущей
(false).true или false)."top" или "bottom"."left", "center" или
"right".true уведомление не
исчезает, когда на него наведён курсор.Для отображения уведомления используется метод:
Toastify({
text: "Успешная операция",
duration: 5000,
gravity: "top",
position: "right",
close: true,
style: {
background: "linear-gradient(to right, #00b09b, #96c93d)",
color: "#fff"
}
}).showToast();
Особенности работы метода
showToast():
duration.Для ручного закрытия уведомления можно использовать метод
hideToast():
let toast = Toastify({ text: "Закрываем уведомление вручную", duration: -1 }).showToast();
// позднее закрытие
toast.hideToast();
Особенности:
duration: -1, которые требуют
действия пользователя для закрытия.hideToast() удаляет элемент из DOM, освобождая ресурсы
страницы.Для создания более сложных уведомлений можно использовать параметр
escape: false, что позволяет вставлять
HTML:
Toastify({
text: '<strong>Важное сообщение</strong><button oncl ick="alert(\'Клик!\')">Действие</button>',
duration: -1,
escape: false,
gravity: "bottom",
position: "center"
}).showToast();
Это позволяет создавать уведомления с кнопками, ссылками или кастомным форматированием.
Хотя библиотека Toastify не имеет встроенной системы событий, можно использовать стандартные DOM-события через кастомные элементы уведомлений. Например, для реакции на клик:
let toastElement = Toastify({
text: "Кликните для действия",
duration: -1,
escape: false
}).showToast();
toastElement.toastElement.addEventListener("click", () => {
console.log("Уведомление кликнуто");
});
С помощью style и CSS-классов можно
контролировать внешний вид и анимацию уведомлений:
Toastify({
text: "Анимированное уведомление",
duration: 4000,
className: "my-toast",
style: {
background: "#333",
color: "#fff",
borderRadius: "8px",
fontSize: "14px"
}
}).showToast();
my-toast можно использовать для добавления
анимаций через CSS @keyframes.Для отображения нескольких уведомлений последовательно можно
использовать массив конфигураций и метод setTimeout:
const messages = ["Первое уведомление", "Второе уведомление", "Третье уведомление"];
messages.forEach((msg, i) => {
setTimeout(() => {
Toastify({ text: msg, duration: 2000, gravity: "top", position: "right" }).showToast();
}, i * 2200);
});
Такой подход позволяет управлять таймингом и создавать плавные цепочки уведомлений.
Эти методы и функции позволяют полностью контролировать уведомления, делая Toastify гибким инструментом для веб-интерфейсов.