Метод prepended является одним из ключевых инструментов
библиотеки Isotope, используемой для динамического управления сетками
элементов. Он предназначен для добавления новых элементов в контейнер
в начало списка, сохраняя при этом корректное
расположение и анимацию существующих элементов. Это особенно полезно при
реализации ленты новостей, галерей или фильтруемых коллекций, где важна
динамическая подгрузка новых элементов сверху.
$grid.isotope('prepended', $items);
Параметры:
$grid – jQuery-объект контейнера, к которому применён
Isotope.$items – jQuery-объект новых элементов, которые
необходимо вставить.Метод возвращает контейнер Isotope, что позволяет цепочечное использование методов:
$grid.isotope('prepended', $newItems).isotope('layout');
Добавление элементов в начало контейнера В
отличие от метода append, prepended вставляет
новые элементы перед всеми существующими, сохраняя
последовательность визуального отображения.
Автоматическая анимация Isotope автоматически рассчитывает позицию новых элементов и плавно анимирует все перемещения, что обеспечивает естественное визуальное обновление сетки.
Интеграция с фильтрацией и сортировкой После
добавления элементов методом prepended они сразу
подчиняются активным фильтрам и правилам сортировки, что предотвращает
необходимость дополнительного пересчета.
// Инициализация сетки Isotope
var $grid = $('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'masonry'
});
// Создание новых элементов
var $newItems = $('<div class="grid-item">Новый элемент</div><div class="grid-item">Ещё один</div>');
// Добавление новых элементов в начало
$grid.isotope('prepended', $newItems);
В этом примере новые элементы появляются сверху, при этом существующие элементы автоматически смещаются вниз, сохраняя сетку.
Метод prepended часто используется совместно с
AJAX-запросами для динамической подгрузки контента. Пример с загрузкой
элементов с сервера:
$.get('/load-new-items', function(data) {
var $newItems = $(data); // данные должны быть jQuery-объектом
$grid.isotope('prepended', $newItems);
});
После вызова $grid.isotope('prepended', $newItems);
новые элементы автоматически участвуют в текущей фильтрации и
сортировке.
$grid.isotope('prepended', $newItems).isotope('layout');
$newItems.find('button').on('click', function() {
console.log('Нажата кнопка нового элемента');
});
insertМетод insert позволяет добавить элементы в любое
место контейнера с указанием позиции, тогда как
prepended всегда вставляет элементы в
начало, что упрощает сценарии, где новые данные должны
появляться первыми.
Метод prepended является мощным инструментом управления
динамическими сетками в Isotope, обеспечивая естественное
добавление элементов сверху с анимацией и полной интеграцией в фильтры и
сортировку. Он особенно полезен при работе с лентами, галереями
и динамическим контентом, когда важна последовательность отображения и
визуальная плавность.