jQuery Isotope - 按类别排序,但指定哪个先来

时间:2012-09-23 10:43:59

标签: jquery sorting jquery-isotope

我正在寻找一种排序行为,一种与特定类别匹配的行为,并将其带到列表的前面。像过滤器一样,除了不删除其他项目。

想象一下同位素网格中的这些类别项目:

  • 红色
  • 绿色
  • 红色
  • 绿色

如果按类别排序,则按字母顺序显示:

  • 绿色
  • 绿色
  • 红色
  • 红色

我想要的是将特定的类别浮动到前面,例如“绿色”,如此:

  • 绿色
  • 绿色
  • 红色
  • 红色

这可能吗?

我尝试为每个类别添加getSortData功能,如下所示:

      green : function( $elem ) {
        var $greenItems = $elem.filter('.green');            
        var $otherItems = $elem.filter(':not(.green)');
        return $greenItems.add($otherItems);
      }
      // repeat for blue, red, etc

但那没用。

1 个答案:

答案 0 :(得分:3)

这对我有用:

green : function( $elem ) {
    var isGreen = $elem.hasClass('green');
    return (!isGreen?' ':'');
},
// etc

演示:http://jsfiddle.net/Yvk9q/9/