我正在使用 Isotope (http://isotope.metafizzy.co/docs/sorting.html) 中的排序方法,并且需要在单击链接时在顶部显示分配有特定 CSS 类名的元素。其余元素必须在排序元素下方保持可见,因此我无法使用同位素过滤。

我对 JS/jQuery 不太熟悉,所以我什至不确定这段代码是否设置正确,但目前我的元素按日期排序,这很好,但是它对所有元素都这样做。我希望我的代码找到类名为“博客”的所有元素,然后按日期排列。到目前为止,这是我的代码:

    getSortData : {
      blogs : function( $elem ) {
        return $elem.attr('.blogs'), $elem.find('.date').text();
      }
    }
有帮助吗?

解决方案

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();
        },
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top