我正在使用Isotope中的排序方法(http://isotope.metafizzy.co/docs/sorting.html),并且需要在链接显示时在顶部显示分配了特定CSS类名的元素点击。其余元素必须在排序元素下方保持可见,因此我无法使用同位素过滤。
我对JS / jQuery不太满意所以我甚至不确定这个代码是否正确设置,但是目前我的元素按日期排序很好,但是它对所有元素都这样做。我希望我的代码能够找到类名为“blogs”的所有元素,然后按日期排列。到目前为止,这是我的代码:
getSortData : {
blogs : function( $elem ) {
return $elem.attr('.blogs'), $elem.find('.date').text();
}
}
答案 0 :(得分:3)
Isotope根据您提供的函数的返回值进行正常排序。
所以你需要返回一些将.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();
},