Isotope.js:显示隐藏的项目

时间:2014-06-05 18:03:12

标签: javascript jquery jquery-isotope

我正在使用Isotope v2&在揭示以前隐藏的物品时遇到一些麻烦。我不确定我做错了什么。

首先,我要收集一系列jQuery对象&告诉Isotope隐藏它们。这非常有效:

elements.postsToHide.push($(elements.gridBlock + "#" + v.SocialPostId)); // $(".block#block123")
elements.grid.isotope("hide", elements.postsToHide).isotope();

最后,我想再次透露这些隐藏物品。所以,点击一个按钮,我做了以下操作,但没有透露任何内容:

elements.grid.isotope("reveal", elements.postsToHide);

The docs say"隐藏" &安培; "揭示"拿和Isotope.Items的数组,我相信我正确传递。

当我调用reveal方法时,我的控制台说" Uncaught Error:undefined不是函数"。

我很困惑为什么我可以推入数组并隐藏项目,但是无法显示相同的数组。

2 个答案:

答案 0 :(得分:0)

根据此问题请求,同位素/砌体hidereveal方法主要是内部方法,并且不是最容易使用的方法。

解决我遇到的问题是:

  1. 将项目隐藏到数组中
  2. 每个项目都使用jQuery .hide()
  3. 一旦完成,再次调用.isotope()以使用新隐藏的项目布局网格
  4. 透露每个项目并使用jQuery .show,然后再次调用.isotope

答案 1 :(得分:0)

我做了类似这样的事情

        //swipe.
    $('.grid').on('swiperight', '.grid-item', function(event) {
        $(this).hide().fadeOut('500', function() {
            $('.grid').isotope('hide', this).isotope('layout');
        });
    });

    $('.filter-button-group').on( 'click', 'button', function() {
        $(this).parent().parent().next().find('.grid-item').show().fadeIn('slow', function() {
            $('.grid').isotope('reveal', this).isotope('layout');
        });
    });

我在调用方法之前使用了hide / show