使用Fancybox进行jQuery同位素过滤
我创建了一个带有Imagegallery的网站,可以使用jQuery Isotope进行过滤。 您可以单击缩略图,然后使用fancybox插件循环显示图像:
网站
现在的问题是,当Imagegallery被过滤时,fancybox插件仍然循环通过所有图像。 甚至是那些在应用filter时没有出现的人。
我不知道如何解决这个问题。
Fancybox阻止了一个画廊与rel="gallery"
。 同位素通过css类确定过滤效果。 因此,如果我将过滤css类添加到rel=""
标签(同位素过滤类由cms生成),当显示所有内容时,我不再能够循环显示所有图像。
我真的无法理解这一点。 你有什么想法怎么做?
有一些代码会有所帮助。 但是,我可以告诉你我是如何使用fancybox处理过滤后的图像的。
我不使用rel = gallery而是使用data-fancybox-group = gallery。 .fancybox是我用同位素的过滤字符串调用fancybox的类。
// filter buttons $('#filters a').click(function(){ var selector = $(this).attr('data-filter'); $('#isotopegallery').isotope({ filter: selector }, function(){ if(selector == "*"){ $(".fancybox").attr("data-fancybox-group", "gallery"); } else{ $(selector).find(".fancybox").attr("data-fancybox-group", selector); } }); return false; });
这一切都在过滤按钮中。 如果您无法使用它,请分享您的代码。
我试着按照ellenmva解释的方式做到这一点,但无法让它发挥作用。 我最终删除了$('#isotopegallery').isotope({ filter: selector }, function()
部分。所以我留下的是:
$('.filterbutton').on("click", function(){ var selector = $(this).attr('data-option-value'); if(selector == "*"){ $(".fancybox").attr("data-fancybox-group", "gallery"); } else{ $(selector).find(".fancybox").attr("data-fancybox-group", selector); } return false; });
这似乎是诀窍,它现在工作得很好。