2011-12-02 8 views
11

Utilizando el plugin de isótopos, trato de lograr un sistema de clasificación donde, al hacer clic en un elemento, los grupos se forman colocando elementos del mismo tipo después del elemento seleccionado.Isótopo de jQuery: ordena los datos por "grupo"

Las funciones de clasificación/filtro de isótopos no parecen diseñadas para este propósito, por lo que mi enfoque inicial fue reorganizar el DOM utilizando .insertAfter y luego activando 'reLayout'.

Sin embargo, parece que después de la inicialización el orden DOM no es relevante y nada menos que destruir y reiniciar el funcionamiento del isótopo, pero que causa saltos de posición de desplazamiento no deseados.

(Ver: http://jsfiddle.net/owenhoskins/r7MgY/10896/)

es que hay manera de actualizar isótopos basada en la estructura DOM sin una re-init?

O, ¿es posible interactuar con las funciones de clasificación/filtro para lograr este objetivo?

Gracias de antemano, Owen

+0

Estoy seguro de que podemos trabajar en un sistema de ordenamiento más complicado, pero debe describir un poco mejor cuál debe ser el resultado final. en su ejemplo, ¿quiere que los elementos antes del clic sigan sin clasificar? (a menos que sean del mismo color?) después de un par de clics, toda la tabla está agrupada por tipo. ¿Es eso lo que desea (exactamente como en su demo)? –

+0

Gracias por el comentario. Básicamente, quiero reposicionar elementos de un grupo alrededor del elemento 'cliqueado' de ese grupo, mientras dejo intactas las posiciones de los elementos de otros grupos. Como en mi demostración, el resultado final sería toda la tabla agrupada por tipo. –

Respuesta

1

Trate this lugar (un violín en forma de horquilla) - Utilizando el método de anteponer en la documentación que funciona para mí, y no salta.

+0

Gracias por la respuesta, el tenedor funciona como describió, pero estaba intentando conservar la posición del elemento cliqueado mientras reposicionaba los elementos restantes del grupo después del artículo (modificando el DOM con .insertAfter) –

+1

¿No está haciendo eso ya? Hice azul el elemento cliqueado para ser más obvio: http://jsfiddle.net/wkMUr/3/ la posición se mantiene igual mientras que todos los demás del grupo la añaden: o tal vez todavía no obtengo lo que '¿que estas buscando? – hejhi

+0

¡Claro que eres ...! Perdió que de alguna manera, supongo que era solo reloadItems en lugar de reLayout, etc., ¡gracias por la ayuda! –

1

¿Te considerar el uso de un plugin diferente para lograr esto? Eche un vistazo a: Quick Sand Su funcionalidad consiste en reemplazar una colección de elementos por otra, mucho más simple que el isótopo en mi opinión.

He aquí un ejemplo similar al resultado que desea obtener: Quick sort example

+0

Parece que Quick Sand no los muestra a todos y los agrupa. Se deshace de los que no son parte del grupo. Y no he usado Quick Sand, pero parece que es aproximadamente el doble, o más, la cantidad JS vs Isotopo. – tazboy

Cuestiones relacionadas