Метод resume() используется для продолжения таймера
уведомления, если он был ранее приостановлен методом
pause(). В контексте библиотеки Noty это
особенно важно для контроля времени отображения уведомлений, которые
автоматически закрываются через заданный промежуток времени
(timeout).
notyInstance.resume();
Параметры: отсутствуют. Возвращаемое
значение: объект уведомления (Noty), что позволяет
использовать цепочку вызовов методов.
pause(), оно не исчезает
автоматически. Вызов resume() возобновляет отсчёт времени
до скрытия:let notification = new Noty({
text: 'Событие успешно выполнено',
timeout: 5000
}).show();
notification.pause(); // приостановка таймера через 2 секунды
setTimeout(() => {
notification.resume(); // возобновление таймера через 5 секунд
}, 5000);
В этом примере уведомление будет скрыто через общее время в 10 секунд с момента показа, так как таймер был приостановлен на 5 секунд.
hover событиями
Часто требуется приостанавливать уведомления, когда курсор находится над
ними, и возобновлять после ухода курсора. resume() отлично
подходит для этого:let notification = new Noty({
text: 'Секретное уведомление',
timeout: 3000
}).show();
notification.on('mouseenter', function() {
this.pause();
});
notification.on('mouseleave', function() {
this.resume();
});
Такое поведение делает уведомления более удобными для пользователя, так как время исчезновения зависит от взаимодействия с элементом.
pause() и resume()
Метод pause() приостанавливает таймер, а
resume() продолжает его работу с того места, где он был
остановлен.
setTimeout() и
clearTimeout() Внутренне Noty использует нативный
setTimeout для контроля таймера. Вызов
resume() фактически возобновляет этот таймер.
close() Если уведомление закрыто
вручную через close(), вызов resume() не имеет
эффекта, так как таймер уже уничтожен вместе с уведомлением.
Комбинирование с событиями интерфейса
resume() чаще всего используется для улучшения UX при
взаимодействии с уведомлениями. Это позволяет динамически контролировать
время их видимости.
Отложенное возобновление Метод можно вызывать
через setTimeout для создания задержки перед продолжением
отсчёта:
notification.pause();
setTimeout(() => {
notification.resume();
}, 2000);
resume() можно комбинировать с другими
методами:notification.pause().setText('Новое сообщение').resume();
let infoNoty = new Noty({
type: 'info',
text: 'Процесс обработки данных',
timeout: 4000,
progressBar: true
}).show();
infoNoty.on('mouseenter', function() {
this.pause();
});
infoNoty.on('mouseleave', function() {
setTimeout(() => this.resume(), 1000); // возобновление через 1 секунду после ухода курсора
});
В этом примере уведомление о процессе обработки данных останется видимым, пока пользователь взаимодействует с ним, и продолжит таймер с небольшой задержкой после ухода курсора.
Метод resume() обеспечивает гибкое управление временем
отображения уведомлений в Noty, позволяя создавать
динамичные, интерактивные уведомления, которые учитывают действия
пользователя и позволяют контролировать их исчезновение с высокой
точностью.