2

是否可以在一个页面上多次使用 Isotope,即针对不同的数据集使用不同的过滤器集?

似乎代码需要使用某些 id,例如无法更改的“#options”。

为了实现这一点,我需要对代码进行哪些更改?

4

1 回答 1

2

有可能的。您只需要在需要时单独初始化它们。例如:

<div class='setA'>
 <div class='itemA' data-title='xxx'>xxx</div>
 <div class='itemA' data-title='xxx'>xxx</div>
</div>
<div class='setA second'>
 <div class='itemA' data-title='xxx'>xxx</div>
 <div class='itemA' data-title='xxx'>xxx</div>
</div>
<div class='setB'>
 <div class='itemB' data-points='xxx'>xxx</div>
 <div class='itemB' data-points='xxx'>xxx</div>
</div>

<script>
$('.setA').isotope({
    itemSelector: '.itemA',
    getSortData: {
        alphabetical: function( item ) {
            return item.attr('data-title');
        }, 
        somethingelse: function( item ) {}
    }
});
$('.setB').isotope({
    itemSelector: '.itemB',
    getSortData: {
        points: function( item ) {
            return parseInt(item.attr('data-points'));
        }, 
        somethingelse: function( item ) {}
    }
});
</script>
于 2012-03-02T23:08:01.013 回答