В библиотеке Noty onHover представляет
собой важный механизм управления поведением уведомлений при наведении
курсора мыши. Он позволяет выполнять пользовательские действия в момент,
когда пользователь фокусируется на уведомлении, что особенно актуально
для интерактивных интерфейсов и временных уведомлений.
onHover — это функция обратного вызова, которую можно
задать при создании уведомления:
new Noty({
text: 'Пример уведомления',
type: 'alert',
timeout: 5000,
callbacks: {
onHover: function() {
console.log('Курсор наведен на уведомление');
}
}
}).show();
text — текст уведомления.type — тип уведомления
(alert, success, error,
warning, info).timeout — время автоматического
закрытия уведомления в миллисекундах.callbacks.onHover — функция,
вызываемая при наведении курсора на уведомление.Одной из ключевых возможностей onHover является контроль
таймера автоматического закрытия уведомления. При наведении на
уведомление часто требуется приостановить таймер, чтобы
пользователь успел прочитать сообщение:
let n = new Noty({
text: 'Секундное уведомление',
timeout: 5000,
callbacks: {
onHover: function() {
n.stop(); // Останавливает таймер закрытия уведомления
},
onMouseLeave: function() {
n.resume(); // Возобновляет таймер после ухода курсора
}
}
}).show();
stop() — приостанавливает таймер,
уведомление остаётся на экране.resume() — продолжает обратный отсчет
до закрытия уведомления.onHover может применяться для динамического изменения
стиля уведомления при наведении:
new Noty({
text: 'Наведи на меня!',
type: 'info',
callbacks: {
onHover: function() {
this.barDom.style.backgroundColor = '#ffcc00';
},
onMouseLeave: function() {
this.barDom.style.backgroundColor = '';
}
}
}).show();
this.barDom — DOM-элемент уведомления,
доступный внутри обратного вызова.onHover удобно сочетать с другими
callback-функциями:
let counter = 0;
new Noty({
text: 'Интерактивное уведомление',
timeout: 7000,
callbacks: {
onHover: function() {
counter++;
this.setText(`Навели на уведомление ${counter} раз`);
},
onClose: function() {
console.log('Уведомление закрыто');
}
}
}).show();
setText() позволяет динамически изменять
содержимое уведомления.onHover срабатывает
при каждом наведении курсора, даже если он возвращается после
ухода.this — внутри функции
обратного вызова this ссылается на экземпляр уведомления
Noty, что позволяет управлять состоянием и методами
(close(), setText(), stop(),
resume() и др.).onHover
можно использовать для запуска анимаций при наведении, например,
увеличение масштаба или изменение прозрачности.stop() при уведомлениях с коротким
timeout, чтобы пользователь успевал прочитать
сообщение.onMouseLeave для плавного восстановления
исходного состояния уведомления.onHover, чтобы
не снижать производительность при частом наведении.onHover работает со всеми типами уведомлений Noty
(alert, success, error,
warning, info). Для уведомлений с
неограниченным временем жизни
(timeout: false) этот callback полезен для запуска анимаций
или взаимодействия с внешними элементами интерфейса.
onHover является универсальным инструментом для создания
интерактивных и управляемых уведомлений в Noty, позволяя реализовать
динамику и гибкость в отображении сообщений на странице.