Pregunta

Estoy usando los métodos de clasificación dentro de Isotope (http://isotope.metafizzy.co/docs/sorting.html) y necesito mostrar elementos con un nombre de clase CSS específico asignado en la parte superior cuando se hace clic en un enlace.Los elementos restantes deben permanecer visibles debajo de los elementos ordenados para que no pueda utilizar el filtrado de isótopos.

No me siento tan cómodo con JS/jQuery, así que ni siquiera estoy seguro de si este código está configurado correctamente, pero actualmente mis elementos están ordenados por fecha, lo cual es genial, sin embargo, está haciendo esto para todos los elementos.Me gustaría que mi código encontrara todos los elementos con el nombre de clase 'blogs' y luego los organizara por fecha.Este es mi código hasta ahora:

    getSortData : {
      blogs : function( $elem ) {
        return $elem.attr('.blogs'), $elem.find('.date').text();
      }
    }
¿Fue útil?

Solución

Isotope realiza una clasificación normal según el valor devuelto de la función que proporciona.

Entonces necesitas devolver algo que ponga el .blog elementos en la parte superior..

Supongo que solo para la fecha usaste $elem.find('.date').text()

Entonces, para modificar esto, simplemente puede agregar un espacio al principio para los elementos que son .blog

Intentar

getSortData : {
  blogs : function( $elem ) {
    var isBlog = $elem.hasClass('blogs');
    return (isBlog?' ':'') + $elem.find('.date').text();
  }
}

Actualización para comentarios

    sortBy: 'initial',
    sortAscending : false,
    itemSelector: '.module',
    getSortData: {
        initial: function($elem) {
            return $elem.find('.date').text();
        },
        blogs: function($elem) {
            var isBlog = $elem.hasClass('blogs');
            return (isBlog ? '9' : '') + $elem.find('.date').text();
        },
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top