Метод remove предназначен для динамического удаления
элементов из сетки Isotope. Он обеспечивает плавное анимационное
удаление, сохраняя корректное расположение оставшихся элементов и
автоматически перестраивая сетку. Этот метод особенно полезен при
создании интерактивных фильтруемых галерей, списков товаров или
портфолио, где элементы могут исчезать по событиям пользователя.
$grid.isotope('remove', $items)
Метод не требует перезапуска Isotope после удаления: библиотека автоматически пересчитывает позиции оставшихся элементов и анимирует их перемещение.
Перед использованием remove необходимо создать экземпляр
Isotope:
var $grid = $('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'masonry',
transitionDuration: '0.6s'
});
itemSelector определяет элементы сетки, которые будут
управляться Isotope.layoutMode отвечает за алгоритм расположения элементов
(masonry, fitRows,
vertical).transitionDuration задаёт длительность анимации
перемещения элементов.Элементы можно выбрать через селекторы, фильтры или по событиям:
var $itemsToRemove = $grid.find('.grid-item.remove-me');
Здесь выбираются все элементы с классом remove-me.
remove$grid.isotope('remove', $itemsToRemove);
После вызова все выбранные элементы плавно исчезнут, а оставшиеся элементы займут освободившиеся места с анимацией.
Часто требуется удалять элементы по клику или другой пользовательской активности:
$grid.on('click', '.grid-item .remove-button', function() {
var $item = $(this).closest('.grid-item');
$grid.isotope('remove', $item);
});
.closest('.grid-item') гарантирует, что удаляется весь
элемент сетки.remove синхронизируются с
Isotope, если использовать именно этот метод.layoutМетод remove автоматически перестраивает сетку, но можно
явно вызвать layout для дополнительного контроля:
$grid.isotope('remove', $itemsToRemove)
.isotope('layout');
Такой подход полезен, если после удаления необходимо применить специфические эффекты анимации или дополнительные фильтры.
Можно удалить элементы, соответствующие определённому фильтру:
var $itemsToRemove = $grid.isotope('getItemElements')
.filter(function(item) {
return $(item).hasClass('sold-out');
});
$grid.isotope('remove', $itemsToRemove);
getItemElements возвращает массив текущих элементов
сетки.remove для плавного
удаления.remove jQuery для
элементов Isotope. Метод Isotope управляет позиционированием и
анимацией; обычное удаление DOM нарушит сетку.transitionDuration. Чем меньше значение, тем
быстрее исчезновение элементов.Метод remove позволяет управлять динамическим содержимым
сетки, обеспечивая плавность и сохранение компоновки, что делает Isotope
удобным инструментом для интерактивных веб-интерфейсов.