В библиотеке Toastify для JavaScript управление закрытием уведомлений играет ключевую роль при создании удобного и предсказуемого пользовательского интерфейса. Toastify предоставляет несколько способов контролировать время появления, длительность показа и реакцию на пользовательские действия.
Основным способом управления временем появления уведомления является
параметр duration. Он задаёт продолжительность отображения
тоста в миллисекундах.
Toastify({
text: "Операция выполнена успешно",
duration: 3000 // уведомление исчезнет через 3 секунды
}).showToast();
Особенности:
0 делает уведомление постоянным до явного
закрытия.Автоматическое закрытие управляется флагом close. Он
добавляет кнопку закрытия и позволяет автоматически скрывать
уведомление.
Toastify({
text: "Новая версия доступна",
duration: 5000,
close: true // добавляет крестик для ручного закрытия
}).showToast();
Моменты, которые важно учитывать:
close: true пользователь может закрыть
уведомление досрочно.duration установлено в 0, уведомление
останется на экране, пока не будет закрыто вручную.Иногда требуется закрывать уведомления программно. Для этого Toastify
возвращает объект с методом hideToast().
const toast = Toastify({
text: "Данные успешно сохранены",
duration: 5000
});
toast.showToast();
// закрытие уведомления через 2 секунды
setTimeout(() => {
toast.hideToast();
}, 2000);
Особенности метода hideToast():
Для повышения удобства взаимодействия часто требуется, чтобы
уведомление не закрывалось, пока пользователь наводит курсор. Toastify
предоставляет параметр stopOnFocus.
Toastify({
text: "Загрузка данных...",
duration: 4000,
stopOnFocus: true
}).showToast();
Принцип работы:
duration, не влияет на ручное
закрытие через close.В сложных приложениях может потребоваться закрывать уведомления
только при определённых условиях. Это достигается сочетанием событий и
метода hideToast().
const toast = Toastify({
text: "Проверка данных...",
duration: 0
}).showToast();
fetch("/api/check")
.then(response => response.json())
.then(data => {
if (data.valid) {
toast.hideToast(); // закрываем только если условие выполнено
}
});
Важные моменты:
duration: 0 делает уведомление постоянным до выполнения
условия.Toastify поддерживает плавное скрытие уведомлений через CSS-анимации.
По умолчанию используется простая анимация исчезания, но её можно
кастомизировать через className и стили:
Toastify({
text: "Обновление завершено",
duration: 3000,
className: "fade-out-toast"
}).showToast();
.fade-out-toast {
transition: opacity 0.5s ease-out;
}
.fade-out-toast.toastify-hide {
opacity: 0;
}
Рекомендации:
close предотвращает потерю данных.Эти возможности делают Toastify гибким инструментом для управления уведомлениями, позволяя точно настраивать поведение тостов и повышать удобство интерфейса.