Параметр animation.open отвечает за определение
анимации, которая будет использоваться при появлении уведомления на
странице. Он является частью объекта animation, который
настраивается при создании нового экземпляра уведомления через
конструктор Noty. Управление анимацией позволяет сделать
уведомления более плавными, привлекательными и согласованными с дизайном
интерфейса.
new Noty({
text: 'Пример уведомления',
animation: {
open: 'animated bounceInDown',
close: 'animated bounceOutUp'
}
}).show();
open — строка, содержащая классы CSS анимации, которые
будут применены при открытии уведомления. Обычно используются классы из
библиотеки Animate.css, но
допустимо определять собственные CSS-анимации.animation.open работает совместно с
animation.close. Если для close не задана
анимация, уведомление закроется без визуального эффекта.animation.open и animation.close
поддерживают настройку продолжительности и задержки через CSS, так как
Noty напрямую использует классы анимаций, а не собственные таймеры.forwards, иначе уведомление может
неожиданно исчезнуть или “мерцать”.Пример с анимацией Fade In:
new Noty({
text: 'Фейдовое уведомление',
type: 'info',
animation: {
open: 'animated fadeIn',
close: 'animated fadeOut'
},
timeout: 3000
}).show();
Пример с кастомной анимацией:
@keyframes slideDown {
from { transform: translateY(-100%); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
.slide-down {
animation: slideDown 0.5s forwards;
}
new Noty({
text: 'Кастомная анимация',
animation: {
open: 'slide-down',
close: 'animated fadeOut'
}
}).show();
Анимация открытия должна учитывать расположение уведомления на
странице (layout). Например:
topRight или topLeft анимации с
движением сверху (bounceInDown, slideDown)
выглядят естественно.bottomRight или bottomLeft
предпочтительнее использовать движение снизу (bounceInUp,
slideUp).Неправильная комбинация анимации и расположения может создавать визуальный диссонанс.
fadeIn,
fadeOut) для уведомлений, которые появляются часто.Параметр animation.open является ключевым инструментом
для создания визуально выразительных уведомлений, позволяя управлять
появлением элементов и повышать качество пользовательского опыта.