Сортировка элементов
$('.sortBut').click(function(event) {
event.preventDefault();
var sortMethod = $(this).attr('data-sortmethod');
sortBlocks('.sectionRow', '.catalogItem', sortMethod);
});
// глобальная переменная для определения сортировки
var orderdirection = [];
function sortBlocks(containerSelect, selector, orderAttr) {
$(containerSelect).each(function(index, el) {
var divs = $(el).find(selector);
var arrayToSort = [];
divs.detach().sort(function(a, b) {
a = parseFloat(a.getAttribute('data-'+orderAttr));
b = parseFloat(b.getAttribute('data-'+orderAttr));
if( orderdirection[orderAttr] === undefined || orderdirection[orderAttr] === 0 ) {
return (a > b) ? 1 : (a < b) ? -1 : 0;
} else{
return (a < b) ? 1 : (a > b) ? -1 : 0;
}
});
// divs.each(function(index, element) {
// $(el).append(element);
// });
var fragment = document.createDocumentFragment();
for (var i = 0; divs.length > i; i++) {
fragment.appendChild(divs[i]);
}
el.appendChild(fragment);
});
if( orderdirection[ orderAttr ] === undefined || orderdirection[ orderAttr ] === 0 )
{
orderdirection[ orderAttr ] = 1; // указывается текущее направление сортировки
}else{
orderdirection[ orderAttr ] = 0; // указывается текущее направление сортировки
}
}