我在这里面临一个问题。我正在使用类似的代码在两页中进行过滤


https://www.tallengestore.com/collections/vincent-van-gogh
https://www.tallengestore.com/products/bani-thani-as-radha-art-by-nihal-chand


$('#filter a')[<number>].click()是触发机制。在页面加载时,它会在10秒后自动触发,也可以在10秒前手动进行干预

页面加载后,将显示$('.portfolio_block')中的默认项目集,其余为display:none

在第一页上,第一个过滤器正常工作。将项目添加到filteredItems中,将元素隐藏,显示动画并显示元素。这里没问题

但是在第二页上,项目被添加,元素被隐藏。机制到此为止。这仅在第一次触发时发生。从第二个触发器开始,它会恢复正常运行。

$('.portfolio_block').isotope({ filter: $(this).attr('data-option-value')})这就是我使用同位素的方式。

任何帮助都会很棒。

附言我试过使用$('.portfolio_block').isotope(),但它只会弄乱页面加载时的布局。

P.P.S我已经添加了同位素数据的控制台日志记录,以进行调试。

同位素-http://isotope.metafizzy.co/filtering.html

最佳答案

令人惊讶或不知不觉中,必须在所有元素之前启动jquery-isotope。在准备就绪的文档上添加以下内容可解决此问题。

var $portfolioBlock = $('.portfolio_block').isotope({
   itemSelector: '<common_class_for_all_elements_requiring_isotope>',
   filter: '<initial_filtering_class>'
});

关于javascript - jQuery Isotope第一次过滤似乎不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36788288/

10-12 02:19