Domanda

Sto usando i metodi di smistamento all'interno dell'isotope (http://isotope.metafizzy.co/docs/sorting.html) e devono visualizzare elementi con un nome specifico della classe CSS assegnato a loro in alto quando è un collegamentocliccato.Gli elementi rimanenti devono rimanere visibili sotto gli elementi ordinati in modo da non poter utilizzare il filtraggio dell'isotopo.

Non sono così comodo con JS / JQuery quindi non sono nemmeno sicuro se questo codice è persino partito correttamente ma attualmente i miei elementi sono ordinanti per data che è fantastico, tuttavia è farlo per tutti gli elementi.Vorrei che il mio codice trovi tutti gli elementi con il nome della classe dei "blog", quindi organizzare per data.Questo è il mio codice finora:

    getSortData : {
      blogs : function( $elem ) {
        return $elem.attr('.blogs'), $elem.find('.date').text();
      }
    }
.

È stato utile?

Soluzione

Isotopo fa un ordinamento normale in base al valore restituito della funzione che fornisci.

Quindi è necessario restituire qualcosa che mette gli elementi .blog in alto ..

Lo sto supponendo che per data solo tu abbia usato $elem.find('.date').text()

Pertanto per modificare questo è possibile aggiungere uno spazio all'inizio per gli elementi generatori di .blog

Prova

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


.

Aggiornamento per commenti

    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();
        },
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top