Pergunta

Estou usando o Isotope para mostrar produtos em uma página.Gostaria que os usuários pudessem classificar (sem problemas com isso) e filtrar itens.Filtragem simples (ou seja, ".Brand1,.Brand2,.Color1" retorna todos os produtos com Marca1 e todos os produtos com Marca2 e todos os produtos com Cor1) está funcionando bem.

Mas o que preciso implementar é um filtro avançado, ou seja, (Brand1 or Brand2) AND Color1.Meu principal problema é que posso ter dezenas de Marcas e dezenas de Cores e dezenas de outras categorias de filtros possíveis, iterando por todas elas para criar filtros como ".Brand1.Color1, Brand2.Color1" pode levar muito tempo.

Você conhece alguma maneira de criar filtros condicionais como (Brand1 or Brand2) AND Color1 em isótopo?

Foi útil?

Solução

$(".foo, .bar").somemethod(someargument);

corresponde a elementos com classe foo OU classe bar,

$(".foo.bar").somemethod(someargument);

corresponde a elementos com classe foo E classe bar,

$(".foo, .bar").not(selector)

poderia ser o caminho a percorrer.

Outras dicas

Isotope usa objetos jQuery como filtros.Então, se você quiser aplicar esta condição (Brand1 or Brand2) AND Color1 , filtre primeiro seus elementos com:

var $elements = $('.element').filter('.Brand1, .Brand2').filter('.Color1');

e passe para o isótopo para atualizar a visualização:

$grid.isotope({ filter: $elements });

e pronto :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top