我在试着用同位素过滤物品。这些项目位于不同的div中,但由于某些原因,过滤器只适用于第一个div。下面是我的代码:
<div id="articles">
<div class="article-wrap">
<div class="article cat-1"></div>
<div class="article cat-2"></div>
<div class="article cat-3"></div>
...
</div>
<div class="article-wrap">
<div class="article cat-1"></div>
<div class="article cat-2"></div>
<div class="article cat-3"></div>
...
</div>
</div>我的javascript:
$(document).ready(function() {
$('#articles .article-wrap').isotope( 'reloadItems' ).isotope({sortBy: 'class'});
$('#filters li a').click(function(){
var selector = $(this).attr('data-filter');
$('#articles .article-wrap').isotope({ filter: selector });
return false;
});
});我做错了什么?
提前感谢
毛罗
发布于 2013-01-03 22:15:26
有了完整的代码,回答这个问题会更容易。
您当前的代码缺少过滤器、链接、$('#filters li a'),问题可能是您忘记在选择器前面添加.。
此外,如果这是您的所有javascript,您正在以错误的顺序调用同位素,即,您正在尝试重新加载项目之前,您已经初始化同位素。
修正后的JS如下所示:
// Only the line below has been altered, the rest is shown for completeness' sake
$('#articles .article-wrap').isotope({sortBy: 'class'}).isotope( 'reloadItems' );
$('#filters li a').click(function(){
var selector = '.' + $(this).attr('data-filter');
$('#articles .article-wrap').isotope({ filter: selector });
return false;
});我已经设置了a working jsFiddle来向您显示结果。
https://stackoverflow.com/questions/8912536
复制相似问题