Clases dinámicas de isótopos
Estoy usando el complemento de isótopo jQuery (http://isotope.metafizzy.co/) que es impresionante, pero tengo un problema con la creación de los géneros. Es más un problema de JavaScript que nada que ver con el propio isótopo.
El problema es que estoy construyendo los datos de clasificación dinámicamente. Así que he creado una función que hace que sortData. Un ejemplo a continuación:
function getSortData(){
sortData = {};
var sorts = ['symbol', 'number', 'score', 'name'];
for (var i in sorts) {
sortData[sorts[i]] = function($elem) {
console.log(sorts[i]);
return parseInt($elem.find('.'+ sorts[i]).text());
}
}
return sortData;
}
Entonces, el problema es que la función anónima en el interior siempre se ejecuta después de que se haya ejecutado toda la función getSortData (). Resultando en el último elemento de la matriz de ordenación que se asigna a la variable sort [i].
Esto se muestra en este violín:http://jsfiddle.net/xzZR4/ Verás que el elemento 'nombre' siempre se envía a la consola.
No puedo pensar en otra forma de crear el objeto getSortData que permita que se pase el nombre de clasificación correcto.
¿Alguien con alguna idea?