Метод fadeOut предназначен для плавного скрытия
элементов на веб-странице с постепенным уменьшением их
непрозрачности (opacity) до нуля и последующим
изменением свойства display на none. В Cash
этот метод реализован с синтаксисом, максимально близким к jQuery, но с
учётом легковесной архитектуры библиотеки.
$(селектор).fadeOut([duration], [easing], [callback]);
Параметры:
duration — продолжительность анимации в миллисекундах.
Можно использовать строки 'fast' (200 мс) или
'slow' (600 мс). По умолчанию — 400 мс.easing — тип функции ускорения анимации. Поддерживаются
'linear' и 'swing'. 'swing'
создаёт более естественное движение.callback — функция, вызываемая после завершения
анимации для каждого элемента.opacity уменьшается от текущего к нулю в
течение указанного времени.display: none, что исключает его
из визуального потока документа.Простое скрытие элемента за 400 мс:
$('#box').fadeOut();
Скрытие с кастомной длительностью и плавной функцией ускорения:
$('.notification').fadeOut(800, 'swing');
С использованием callback после завершения анимации:
$('.alert').fadeOut(500, 'linear', function() {
console.log('Элемент скрыт');
});
Множественные элементы:
$('li').fadeOut(300, 'swing', function() {
this.remove(); // удаление элемента после скрытия
});
Метод fadeOut использует
requestAnimationFrame для плавной анимации изменения
непрозрачности. Принцип работы следующий:
Определяется текущее значение opacity.
Вычисляется шаг уменьшения в зависимости от длительности анимации.
В цикле через requestAnimationFrame значение
opacity уменьшается.
После достижения нуля выполняется:
display: none;callback, если она задана.Это обеспечивает более плавную анимацию, чем при использовании
setTimeout или setInterval.
display: none), вызов
fadeOut не вызовет ошибки, но анимация не произойдёт.Метод fadeOut в Cash обеспечивает лёгкую, понятную и
совместимую с jQuery реализацию плавного скрытия элементов, позволяя
контролировать длительность, функцию ускорения и действия после
завершения анимации.