Изотоп: выберите и отобразите класс.xx вверху
Я использую методы сортировки в Isotope (http://isotope.metafizzy.co/docs/sorting.html) и мне нужно отображать элементы с определенным именем класса CSS, назначенным им в верхней части при нажатии на ссылку. Остальные элементы должны оставаться видимыми под отсортированными элементами, поэтому я не могу использовать изотопную фильтрацию.
Мне не очень комфортно с JS/jQuery, поэтому я даже не уверен, правильно ли задан этот код, но в настоящее время мои элементы сортируются по дате, что замечательно, однако он делает это для всех элементов. Я хотел бы, чтобы мой код находил все элементы с именем класса 'blogs', а затем располагался по дате. Это мой код до сих пор:
getSortData : {
blogs : function( $elem ) {
return $elem.attr('.blogs'), $elem.find('.date').text();
}
}
1 ответ
Изотоп делает обычную сортировку на основе возвращенного значения функции, которую вы предоставляете.
Так что вам нужно вернуть что-то, что ставит .blog
элементы наверху..
Я предполагаю, что на сегодняшний день только вы использовали $elem.find('.date').text()
Таким образом, чтобы изменить это, вы можете просто добавить пробел в начале для элементов, которые .blog
Пытаться
getSortData : {
blogs : function( $elem ) {
var isBlog = $elem.hasClass('blogs');
return (isBlog?' ':'') + $elem.find('.date').text();
}
}
Обновление для комментариев
sortBy: 'initial',
sortAscending : false,
itemSelector: '.module',
getSortData: {
initial: function($elem) {
return $elem.find('.date').text();
},
blogs: function($elem) {
var isBlog = $elem.hasClass('blogs');
return (isBlog ? '9' : '') + $elem.find('.date').text();
},