2013-03-18 6 views
4

Я пытаюсь динамически изменять значения данных сортировки на изотопных элементах, но Isotope, похоже, кэширует начальные значения порядка и использует его только при вызове 'reLayout'.Динамически меняющиеся значения данных сортировки Isotope.js

У меня есть страница элементов, которые при нажатии будут расширяться до 100% ширины контейнера. При изменении размера все элементы изотопа должны быть перенаправлены на определенное позиционирование. Я прохожу через каждый ящик и обновляю значение сортировки.

В следующем примере показаны два объекта изотопа: верхняя часть с анимацией, которая производит правильные значения порядка сортировки, но неправильное позиционирование, а второе с тем, что должно быть правильным результатом.

Полный пример: http://jsfiddle.net/eB85m/4/

Есть в любом случае для Изотоп, чтобы получить новые данные сортировки или обновить значения данных, сортировки изотопной напрямую?

ответ

10

Вы правы Изотоп кэширования значения первоначального заказа - от документации изотопа в here:

Кэш данных построен на инициализации, так что можно быстро получить доступ при сортировке.

Isotope предлагает метод «updateSortData» ... ну, обновите данные сортировки после инициализации. Here's a working jsfiddle - Я просто добавил

// Update sort data 
// http://isotope.metafizzy.co/docs/methods.html#updatesortdata 
$('#iso').isotope('updateSortData', $('#iso').children()); 

к первоначальному примеру и прокомментировал «reLayout» - обновление параметров сортировки изотопа уже заботится о том (исх Изотоп-х sorting demo.).

+1

Спасибо. Я люблю тебя всем сердцем. -случайный человек, который ищет эту информацию. – user1255756

+0

В V2 вы можете использовать $ ('# iso'). Isotope ('updateSortData'). Isotope(); – rgomesf

Смежные вопросы