Я сортирую сетку div по дате, но столкнулся с проблемой. Элементы div сортируются по дате, но когда вы вводите еще один месяц, это не учитывается и сортируется только по значению дня.
HTML:
<div class="grid-filter">
<a href="#">
<div class="grid-block" style="background-color: #46747c" data-category="1952013">
<div class="block-text date-title">19/05</div>
</div>
</a>
</div>
<div class="grid-filter">
<a href="#">
<div class="grid-block" style="background-color: #ebd133" data-category="2552013">
<div class="block-text date-title">25/05</div>
</div>
</a>
</div>
<div class="grid-filter">
<a href="#">
<div class="grid-block" style="background-color: #cc7788" data-category="3052013">
<div class="block-text date-title">30/05</div>
</div>
</a>
</div>
<div class="grid-filter">
<a href="#">
<div class="grid-block" style="background-color: #46747c" data-category="0562013">
<div class="block-text date-title">05/06</div>
</div>
</a>
</div>
jquery
jQuery(document).ready(function(){
var jQuerycontainer = jQuery('#main-grid');
if(location.hash!=""){
var hashfilter = "." + location.hash.substr(1);
}
else{
var hashfilter = "*";
}
jQuerycontainer.imagesLoaded( function(){
jQuerycontainer.isotope({
filter: hashfilter,
itemSelector: '.grid-block',
getSortData : {
date : function( jQueryelem ) {
return jQueryelem.attr('data-category');
}
},
sortBy : 'date',
animationEngine: 'css',
masonry: {
columnWidth: 4
}
});
});
jQuery('.filter-menu a').click(function(){
var selector = jQuery(this).attr('data-filter');
var prettyselector = selector.substr(1);
location.hash = prettyselector;
jQuery('html, body').animate({scrollTop:0}, 'slow');
return false;
});
jQuery('.grid-filter a').click(function(){
var selector = jQuery(this).attr('data-filter');
var prettyselector = selector.substr(1);
location.hash = prettyselector;
jQuery('html, body').animate({scrollTop:0}, 'slow');
return false;
});
jQuery(window).hashchange(function(){
if(location.hash!=""){
var hashfilter = "." + location.hash.substr(1);
}
else{
var hashfilter = "*";
}
jQuerycontainer.imagesLoaded( function(){
jQuerycontainer.isotope({
filter: hashfilter,
itemSelector: '.grid-block',
getSortData : {
date : function( jQueryelem ) {
return jQueryelem.attr('data-category');
}
},
sortBy : 'date',
animationEngine: 'css',
masonry: {
columnWidth: 4
}
});
});
});
});
Таким образом, блоки сортируются, НО последний с датой 0562013
появляется первым, так как 05 - это наименьшее число, которое я предполагаю, нужно ли в любом случае учитывать месяц, чтобы он успешно сортировал div по дате?