【问题标题】:Isotope.js: reveal hidden itemsIsotope.js:显示隐藏的项目
【发布时间】:2016-04-09 00:06:14
【问题描述】:

我正在使用 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 "hide" & "reveal" take 和 Array of Isotope.Items,我相信我正确通过了。

当我调用reveal方法时,我的控制台显示“未捕获错误:未定义不是函数”。

我很困惑为什么我可以推入一个数组并隐藏项目,但不能显示同一个数组。

【问题讨论】:

    标签: javascript jquery jquery-isotope


    【解决方案1】:

    根据此问题请求,Isotope/Masonry hidereveal 方法大多是内部的,不是最容易使用的。

    要解决我遇到的问题是:

    1. 推送项目以隐藏到数组中
    2. 每个通过项目并使用jQuery .hide()
    3. 每次完成后,再次调用 .isotope() 以使用新隐藏的项目布局网格
    4. 显示,每个通过项目并使用jQuery .show,然后再次调用.isotope

    【讨论】:

      【解决方案2】:

      我做了这样的事情

              //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');
              });
          });
      

      我在调用方法之前使用了隐藏/显示

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-02
        • 2023-04-02
        • 1970-01-01
        • 2019-10-27
        • 1970-01-01
        • 2015-12-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多