Метод shuffle предназначен для случайного перемешивания
элементов внутри контейнера Isotope. Этот метод является частью API
библиотеки и позволяет динамически изменять порядок отображения
элементов без изменения их структуры в DOM. Он особенно полезен для
галерей, портфолио и других интерфейсов, где требуется разнообразное
представление контента при каждом обновлении страницы.
$grid.isotope('shuffle');
$grid — это jQuery-объект контейнера, в котором
инициализирован Isotope.shuffle не принимает аргументов и возвращает
ссылку на объект Isotope, что позволяет применять цепочку методов
(chaining).Пример базового использования:
var $grid = $('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'fitRows'
});
$grid.isotope('shuffle');
В этом примере элементы с классом .grid-item внутри
контейнера .grid будут случайным образом перемешаны.
Анимация перестановки Метод shuffle
автоматически запускает анимацию, если она включена при инициализации
Isotope через опцию transitionDuration. Например:
var $grid = $('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'masonry',
transitionDuration: '0.6s'
});
$grid.isotope('shuffle');
В этом случае перемещение элементов будет плавным и визуально привлекательным.
Совместимость с фильтрацией и сортировкой Метод
shuffle работает поверх текущего фильтра и порядка
сортировки. Если ранее применялась фильтрация через filter,
элементы будут перемешаны только среди видимых элементов. Аналогично,
если использовался метод arrange с сортировкой,
shuffle перемешивает элементы в пределах установленного
фильтра.
Возврат к исходному порядку Isotope хранит
исходный порядок элементов в момент инициализации. Метод
shuffle не уничтожает эту информацию, что позволяет при
необходимости вернуть элементы в исходный порядок через метод
arrange с параметром
sortBy: 'original-order'.
var $grid = $('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'masonry',
transitionDuration: '0.5s'
});
// Перемешивание каждые 5 секунд
setInterval(function() {
$grid.isotope('shuffle');
}, 5000);
// Случайное перемешивание при клике на кнопку
$('#shuffle-button').on('click', function() {
$grid.isotope('shuffle');
});
В этом примере элементы автоматически перемешиваются каждые 5 секунд, а также есть возможность случайного перемешивания по нажатию кнопки. Такой подход позволяет создавать динамичные и интерактивные интерфейсы.
arrange — метод shuffle
можно комбинировать с arrange для дополнительной фильтрации
или сортировки после перемешивания.updateSortData — если элементы
изменяют свои свойства, влияющие на сортировку, необходимо обновлять
данные сортировки перед вызовом shuffle, чтобы Isotope
корректно переставлял элементы.$grid.isotope('updateSortData').isotope('shuffle');
layout — после динамического
добавления или удаления элементов рекомендуется вызвать
layout для корректного перераспределения элементов перед
вызовом shuffle.shuffle на контейнерах с ограниченным количеством
элементов. При работе с тысячами элементов может наблюдаться замедление
анимации.transitionDuration можно создавать
эффект «живой галереи», где элементы плавно перемещаются и создают
визуальный интерес.click,
hover, scroll) метод shuffle
позволяет создавать интерактивные элементы управления порядком
контента.Метод shuffle — мощный инструмент для динамического
представления элементов в библиотеке Isotope. Он поддерживает плавные
анимации, совместим с фильтрацией и сортировкой, и позволяет легко
создавать интерактивные интерфейсы с перемешанным контентом.