我在这里面临一个问题。我正在使用类似的代码在两页中进行过滤
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/